Hardware Reference
In-Depth Information
Control instructions
STC, CLC, CMC
Set, clear, complement carry flag
Set, clear direction flag
STD, CLD
Set, clear interrupt enable flag
STI, CLI
Load AH from flags, store AH into flags
LAHF, SAHF
Push flags onto stack, pop flags off stack
PUSHF, POPF
Escape to external processor interface
ESC
Lock bus during next instruction
LOCK
No operation (do nothing)
NOP
Wait for signal on TEST input
WAIT
Halt processor
HLT
8086 register model
The register model of the 8086 is shown in Figure 5.1. Of the fourteen 16-bit
registers available, four may be described as general purpose and can be divided
into separate 8-bit registers. As an example, the 16-bit extended accumulator
(AX) can be divided into two 8-bit registers, AH and AL. The high byte of a
16-bit word placed in AX is stored in AH whilst the low byte is stored in AL.
Instructions can be made to refer to various parts of the accumulator so that
operations can be carried out on the word stored in AX, or the individual bytes
stored in AH or AL.
The four Segment Registers are Code Segment (CS), Data Segment (DS),
Stack Segment (SS), and Extra Segment (ES). By making appropriate changes
to the contents of these registers, the programmer can dynamically change the
allocation of workspace.
As briefly mentioned in Chapter 1, the 8086 forms a 20-bit address from
the contents of one of the Segment Registers (either CS, DS, SS, or ES) and
Figure 5.1 8086 register model
Search WWH ::




Custom Search