Giter VIP home page Giter VIP logo

x86reference's Introduction

X86 Opcode and Instruction Reference

Work-in-progress repository. For more see ref.x86asm.net.

Notes on Addressing Methods

The J method

Might be confusing. For example, Jbs actually reads as: "Relative offset to be added to the IP register. The relative offset is sign-extended to the size of of the IP register."

This method is always used as a source operand. To make it completely correct, it should be a destination operand but it would make the byte value also the destination and that doesn't make much sense. This would need to be solved by introducing new types of operands but I don't think it's worth it.

Notes on Operand Type codes

SIMD FP instructions with integer codes

There are several MOV-like SIMD instructions that operate on floating-point data but their operands are indicated as integer ones. For example MOVHLPS Vq, Uq means "Move two packed single precision floating-point values from high quadword of source XMM register to low quadword of destination XMM register", however, all the Intel manuals from the pre-AVX era doesn't indicate its operands as packed single FP values (ps code) in the opcode map. This is presumably because the operands are treated as integers during the move operation.

The newer manuals from the AVX era indicate this instruction as VMOVHLPS Vq, Hq, Uq in the opcode map, making it unclear how the non-AVX version should look like. Anyway, even the AVX version uses integer codes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.