This article comes from: http://baike.baidu.com/view/6159.htm8086 has 14 16-bit registers, which can be divided into (1) General registers, (2) instruction pointer, (3) mark register and (4) segment register. There are 8 General registers, which can be divided into two groups. One is the data register (4), the other is the pointer register and the address register (4 ). as the name suggests, general-purpose registers are those that you can use as needed. modifying their values usually does not have a great impact on computer operation. Data registers are divided:
Ah & Al = AX (accumulator ):Accumulate registers, which are commonly used in operations. They are used to store operands in multiplication, division, and other commands. In addition, all I/O commands use this register to transmit data with external devices.
BH & BL = Bx (base ):Base Address Register, often used for address index
Ch & CL = Cx (count ):The counting register, which is often used for counting. It is often used to save the calculated value, for example, used as an implicit counter in the shift instruction, loop, and string processing instruction.
DH & DL = DX (data ):Data registers are commonly used for data transmission. These four 16-bit registers can be divided into 8-bit high: Ah, BH, CH, DH. and 8-bit low: Al, BL, Cl, DL. These two groups of 8-bit registers can be respectively addressable and used separately. The other groups are pointer registers and address change registers, including:
SP (Stack pointer ):Stack pointer, used in combination with SS, can point to the current stack location
BP (base pointer ):Base Address pointer register, which can be used as a relative base address location of the SS
Si (source index ):Source Address Change register, which can be used to store the source address change pointer relative to the DS segment
Di (destination index ):Destination Address Change register, which can be used to store
Segment. These four 16-bit registers can only perform access operations based on 16 bits. They are mainly used to form the address of the operand and to calculate the valid address of the operand in stack operations and address change operations.
IP (Instruction Pointer): Command pointer register CS (code segment) code segment register DS (Data Segment): Data Segment register SS (stack segment): Stack segment register ES (extra segment ): additional segment register
Of Overflow flag overflow indicates that the operands exceed the range expressed by the machine, indicating overflow. The overflow value is 1. SF sign flag indicates the symbol used to record the operation result. If the negative result is 1. if ZF zero flag is set to 0, the result is 1. Otherwise, the value is 0. cf carry flag when the highest valid bit is generated, otherwise it is 0.
AF auxiliary carry flag assists in the carry mark operation. When the 3rd-bit vector is 4th-bit, the carry value is 1. Otherwise, the carry value is 0. PF parity flag parity indicates that the operation result is 1 when the number of Operation digits is an even number. Otherwise, it is 0.
If interrupt flag if = 1, the CPU response is allowed to block the interrupt; otherwise, the interrupt is disabled. TF trap flag Flag is used to debug single-step operations.
DF direcion flag direction signs are used for string processing. When df = 1, Si and di decrease after each operation. df = 0 increases.