X86 register details

  
 

AX accumulator AL bottom 8-bit accumulator AH high 8-bit accumulator EAX 32-bit accumulator BX base register BL bottom 8-bit base register BH high 8-bit base register EXB 32-bit base register CX counter CL Bit 8 Counter CH High 8-bit counter ECX 32-bit counter DX Data register DL Bit 8 data register DH High 8-bit data register EDX 32-bit data register CS: Code segment register DS: Data segment register SS: Stack segment register ES: Additional segment register SI: Source index register DI: Destination index register BP: Base pointer register SP: Stack pointer register IP: Instruction pointer register FR: Flag pointer register


1 General Purpose Registers

Data registers include four general-purpose registers, AX, BX, CX, and DX. They can be used in the form of words 16 bits or in 8-bit bytes. When used in word form, four general-purpose registers are called AX, BX, CX, DX, which are used in bytes. The upper eight-bit general-purpose registers are called AH, BH, CH, DH. The lower eight are called AL, BL, CL, and DL.

These four are general purpose registers and can be used for special purposes. AX is used as an accumulator. When using BX to calculate the memory address, it is often used as the base address register, so it is also called the base address register. (BASE) CX (COUNT) can be used as a general purpose register. In addition, it is used as an implicit counter in loop (LOOP) and string processing instructions. DX (DATA) combines DX and AX to store the I/O port address when doing double word length operations.

2, pointers and index registers

They include SP, BP, SI, DI four 16-bit registers. They can store operands in the same way as data registers, but they can only be used in units of 16 bits.

SP (STACK POINTER) stack pointer register. The offset address used to indicate the top of the stack, and the SS stack segment register forms the physical address of the top storage unit. BP (BASE POINTER) base pointer register. Used to indicate the offset address of a data area in the stack ----- base address. SI (SOURCE INDEX) source index register; DI (DESTINATION INDEX) destination index register;

3, segment register

includes CS, DS, SS, ES four 16-bit segment registers

CS (CODE SEGMENT) code segment register SS (STACK SEGMENT) stack segment register DS (DATA SEGMENT) data segment register ES (EXTRA SEGMENT) additional segment register

8086/8088 uses storage space The segmentation technique is used to address the storage space of 1 Mbytes of addressing. The contents of these segment registers together with a valid address offset (called the offset address) determine the physical address of the memory location of the memory. The CS control program area DS and ES control the data area, and the SS controls the stack area.

4, control register

two 16-bit registers IP and PSW.

IP (INSTRUCTION POINTER) instruction pointer register; it is used to store the offset address in the code segment. The program always points to the first address of the next instruction. The computer is the

PSW(PROGRAM STATUS WORD) program status word register or flag register that uses the IP register to control the execution sequence of the instruction sequence; it is composed of the status code flag and the control flag,

OF Overflow flag; the result of the operation exceeds the range of values ​​that the machine can represent. It is overflowed with OF=1, otherwise OF=0;

SF symbol flag; set when the sign of the operation result is negative, otherwise set to 0

ZF;zero flag

CF carry flag

AF auxiliary carry flag

PF parity flag

DF direction flag

DF= 1 Decrease SI and DI after each operation, make string processing instruction to low address direction

IF interrupt flag

TF trace flag

Control flag is system The program or user program is set with instructions as needed.

Copyright © Windows knowledge All Rights Reserved