Академический Документы
Профессиональный Документы
Культура Документы
• Components in EU:
– Arithmetic logic Unit: ALU
– Status and control logic
– General purpose registers
– Temporary operand registers
Bus
control
ALU Instruction Queue External bus
EU
control
Flag register
Bus Interface Unit (BIU)
15 8 7 0
AX AH AL Accumulator
BX BH BL Base
Data Group
CX CH CL Counter
DX DH DL Data
SP Stack Pointer
BP Base Pointer
Pointer and
Index Group
SI Source Index
DI Destination Index
CS IP
SS SP and BP
+13=00001101
-9 =11110111 (2’s complement for -9 with sign bit
+4=100000100(Ignore Carry; Sign bit is 0 so result is positive)
+9 =00001001
-13=11110011 (2’s complement for -13 with sign bit
-4 = 11111100 sign bit is 1; negative)
00000011 Invert each bit
1( add 1)
00000100( -4; magnitude)
SCSE VIT UNIVERSITY A place to learn; A chance to grow
Flag Register
Note: Range of Signed Numbers that can be represented with 8 binary
bits; In normal codes, the range is 0 to +127 and from -1 to -128
Note: 01111111 +127
.
.
00000001 +1
00000000 Zero
11111111 -1
.
.
10000001 -127
10000000 -128
• 8288 Bus Controller – Bus Command and Control Signals: 8086 does not directly provide all the
signals that are required to control the memory, I/O and interrupt interfaces.
• Specially the WR, M/IO, DT/R, DEN, ALE and INTA, signals are no longer produced by the 8086.
Instead it outputs three status signals S0, S1, S2 prior to the initiation of each bus cycle. This 3- bit
bus status code identifies which type of bus cycle is to follow.
• S2S1S0 are input to the external bus controller device, the bus controller generates the
appropriately timed command and control signals.
• The 8288 produces one or two of these eight command signals for each bus cycles. For
instance, when the 8086 outputs the code S2S1S0 equals 001, it indicates that an I/O read
cycle is to be performed.
• In the code 111 is output by the 8086, it is signaling that no bus activity is to take place.
• The control outputs produced by the 8288 are DEN, DT/R and ALE. These 3 signals provide
the same functions as those described for the minimum system mode. This set of bus
commands and control signals is compatible with the Multibus and industry standard for
interfacing microprocessor systems.
• The output of 8289 are bus arbitration signals: bus busy (BUSY), common bus request
(CBRQ), bus priority out (BPRO), bus priority in (BPRN), bus request (BREQ) and bus clock
(BCLK).
• They correspond to the bus exchange signals of the Multibus and are used to lock other
processor off the system bus during the execution of an instruction by the 8086.
• In this way the processor can be assured of uninterrupted access to common system
resources such as global memory.
• Queue Status Signals : Two new signals that are produced by the 8086 in the maximum-
mode system are queue status outputs QS0 and QS1. Together they form a 2-bit queue
status code, QS1QS0.
• Following table shows the four different queue status.
• Group1:
– Register addressing, Immediate addressing
• Group2:
– Direct addressing, register indirect addressing, Based addressing, Indexed
addressing, Based indexed addressing, string addressing
• Group3:
– Direct I/O port addressing, Indirect I/O port addressing
• Group4:
– Relative addressing
• Group5:
– Implied addressing
• Register addressing
– In register addressing the instruction will specify the name of the register
which holds the data to be operated by the instruction
• Ex: a) MOV CL,DH (CL) (DH)
– The content of 8-bit register DH is moved to another 8-bit register CL
• b) MOV BX,DX (BX)(DX)
• Immediate addressing
– In immediate addressing mode an 8-bit or 16-bit data is specified as part of
the instruction.
• Ex:a) MOV DL,08H (DL)08H
• b) MOV AX,0A9FH (AX)0A9FH
• Direct addressing
– In direct addressing an unsigned 16-bit displacement of signed 8-bit
displacement will be specified in the instruction.
– The displacement is the effective address(EA) or offset.
– The 20 bit physical address of memory is calculated by multiplying the
content of DS register by 10H and adding to effective address.
– In case of 8-bit displacement, the effective address is obtained by sign
extending the 8-bit displacement to 16-bit.
• Examples:
– MOV DX,[08H]
– EA = 0008H (Sign extended 8-bit displacement)
– BA=(DS) * 1610 ; MA=BA+EA
– (DX) (MA) or DL (MA); DH(MA+1)
• The segment base address (BA) is computed by multiplying the content of DS by 1610
• The memory address (MA) is computed by adding the effective address (EA) to the
segment base address (BA)
SCSE VIT UNIVERSITY A place to learn; A chance to grow
Addressing Modes of 8086