Functions for generating x86 machine code instructions. The
functions make use of the code generation monad in module
Harpy.CodeGenMonad for emitting binary code into a code buffer.
This module is very low-level, since there are different
functions for different addressing modes. A more convenient
interface is provided in module Harpy.X86Assembler, which uses
the operand types to determine the correct addressing modes for
all supported instructions.
Note: this file does not (yet) provide the complete x86
instruction set, not even all user-mode instructions. For some
operations, some addressing modes are missing as well.
Copyright notice:
The information in this file is based on the header file
x86-codegen.h from the mono distribution, which has the following
copyright information:
* x86-codegen.h: Macros for generating x86 code
*
* Authors:
* Paolo Molaro (lupus@ximian.com)
* Intel Corporation (ORP Project)
* Sergey Chaban (serge@wildwestsoftware.com)
* Dietmar Maurer (dietmar@ximian.com)
* Patrik Torstensson
*
* Copyright (C) 2000 Intel Corporation. All rights reserved.
* Copyright (C) 2001, 2002 Ximian, Inc.
*