# x86 / x64

The x86 and x64 instruction sets are architectures that are used in many modern microprocessors, including processors made by Intel and AMD. They are used in a wide range of devices, including desktop computers, laptops, servers, and embedded systems.

The x86 instruction set is a 32-bit architecture that was developed by Intel in the 1970s. It has evolved over time and has become one of the most widely used instruction sets in the world. The x86 instruction set is known for its high level of backwards compatibility, which allows it to run software that was written for earlier versions of the architecture.

The x64 instruction set is an extension of the x86 instruction set that was introduced in 2003. It is a 64-bit architecture that is compatible with the x86 instruction set, but it includes additional features and capabilities that are not present in the x86 instruction set. The x64 instruction set is used in many modern processors and is capable of running both 32-bit and 64-bit software.

Overall, the x86 and x64 instruction sets are powerful and flexible architectures that are used in a wide range of devices and applications. They are known for their high level of compatibility with older software, as well as their support for modern operating systems and applications.

{% hint style="info" %}
x64 and x86 refer to two different instruction set architectures (ISAs) for CPUs. x86 is a 32-bit ISA, while x64 is a 64-bit ISA. This means that a CPU that supports the x86 ISA can execute 32-bit instructions, while a CPU that supports the x64 ISA can execute both 32-bit and 64-bit instructions.
{% endhint %}

{% content-ref url="x86-x64/registers" %}
[registers](https://www.ctfrecipes.com/pwn/architectures/x86-x64/registers)
{% endcontent-ref %}

{% content-ref url="x86-x64/instruction-set" %}
[instruction-set](https://www.ctfrecipes.com/pwn/architectures/x86-x64/instruction-set)
{% endcontent-ref %}

{% content-ref url="x86-x64/calling-convention" %}
[calling-convention](https://www.ctfrecipes.com/pwn/architectures/x86-x64/calling-convention)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.ctfrecipes.com/pwn/architectures/x86-x64.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
