Compilation of computer systems --- IA32 processor data format and data operations, compilation --- ia32

Source: Internet
Author: User

Compilation of computer systems --- IA32 processor data format and data operations, compilation --- ia32
Compilation of computer systems-IA32 processor data format and Data Operations

IA32 data format:
Intel uses the term "word" to indicate the 16-bit data type. Therefore, 32-bit data is called "double-digit" and 64-bit data is called "four-character ".



Char * indicates all pointer types. Note: The New long in C language is octal, but the hardware IA32 does not support this type.

Registers (8 32-bit registers, all beginning with % e)
% Eax, % ecx, and % edx: The caller saves (data) registers. When p calls q during the process, q can overwrite these registers without changing the data in p.
% Ebx, % esi, and % edi: The caller saves the (data) registers. When the pass p calls q, q must save them to the stack before overwriting the register data,
And restore them when the call ends. The data p or other processes need them.
% Esp, % ebp:



Most commands have one or more operands, indicating the source data value to be referenced during the execution of an operation, and the target location where the result is placed. The source data value can be given as a constant or read from a register or memory, and the result can be saved in a register or memory.

There are three operands:
>>> 1. Immediate number is a constant, starting with $, followed by an integer;
>>> 2. number of registers. For word operations, it indicates the value saved in a register. For byte operations, it is one of eight single-byte registers, for example, % al (eight lower bits in the eax register)
>>> 3. memory Reference, which is used to access a location of the memory based on the calculated valid address. It consists of four parts: immediate number offset (lmm), base address register Eb, address register Ei, and proportional factor s. The valid address is calculated as Imm + R [Eb] + R [Ei] * s. (R [Eb] indicates the Eb value of the Register. R [Ei] indicates the Ei value of the Register. The value of s can only be 1, 2, 4, or 8) in the following table, Mb [addr] indicates a reference to the B-byte values starting from the address addr in the memory.

Operand format table



For example, if the address 0x100 value is 56, the operand 0x100 value is 56, which is an absolute addressing; $0x100 value 0x100 is an immediate addressing;

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.