Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Peter Norton Programmer's Guide - Norton Guide http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

  The 8086 was designed to execute instructions and perform arithmetic and
  logical operations as well as receive instructions and pass data to and
  from memory. To do this, it uses a variety of 16-bit registers.

  There are fourteen registers in all, each with a special use. Four
  scratch-pad registers are used by programs to temporarily hold the
  intermediate results and operands of arithmetic and logical operations.
  Four segment registers hold segment values. Five pointer and index
  registers hold the offsets that are used with the values in the segment
  registers to locate data in memory. Finally, one flags register contains
  nine 1-bit flags that are used to record 8086 status information and
  control 8086 operations. (See Figure 2-5.)

                                        Scratch-pad registers

                          7                      0 7                      0
                          +-----------------------------------------------+
  AX (accumulator)        |          AH           |          AL           |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  BX (base)               |          BH           |          BL           |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  CX (count)              |          CH           |          CL           |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  DX (data)               |          DH           |          DL           |
                          +-----------------------------------------------+

                                           Segment registers

                          15                                              0
                          +-----------------------------------------------+
  CS (code segment)       |                                               |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  DS (data segment)       |                                               |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  SS (stack segment)      |                                               |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  ES (extra segment)      |                                               |
                          +-----------------------------------------------+

                                          Offset registers

                          15                                              0
                          +-----------------------------------------------+
  IP (instruction pointer)|                                               |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  SP (stack pointer)      |                                               |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  BP (base pointer)       |                                               |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  SI (source index)       |                                               |
                          ---+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--|
  DI (destination index)  |                                               |
                          +-----------------------------------------------+

                                           Flags register

                          15                                              0
                          +-----------------------------------------------+
                   Flags  |           |OF|DF|IF|TF|SF|ZF|  |AF|  |PF|  |CF|
                          +-----------------------------------------------+

  Figure 2-5.  The 8086 registers and flags.

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson