• No results found

Maximum Mode InterfaceMaximum Mode Interface

In document 47633033-8086-Full (Page 67-72)

Maximum Mode Interface

 When the 8086 is set for the maximum-mode configuration, itWhen the 8086 is set for the maximum-mode configuration, it

provides signals for implementing a multiprocessor / coprocessor provides signals for implementing a multiprocessor / coprocessor system environment.

system environment.

 By By multiprocessor multiprocessor environment environment we we mean mean that that oneone

microprocessor exists in the system and that each processor is microprocessor exists in the system and that each processor is executing its own program.

executing its own program.

 Usually in this type of system environment, there are someUsually in this type of system environment, there are some

system resources that are common to all processors.They are system resources that are common to all processors.They are called as global resources. There are also other resources that called as global resources. There are also other resources that are assigned to specific processors. These are known as local or are assigned to specific processors. These are known as local or private resources.

private resources.

 Coprocessor also means that there is a second processor in theCoprocessor also means that there is a second processor in the

system. In this two processor does not access the bus at the system. In this two processor does not access the bus at the same time. One passes the control of the system bus to the same time. One passes the control of the system bus to the other and then may su

other and then may suspend its operation.spend its operation.

 In the maximum-mode 8086 system, facilities are provided forIn the maximum-mode 8086 system, facilities are provided for

implementing allocation of global resources and passing bus implementing allocation of global resources and passing bus control to other mi

8288 Bu

8288 Bu s Controller s Controller – Bus Command and Control Signals:– Bus Command and Control Signals:

 8086 does not directly provide all the signals that are required to8086 does not directly provide all the signals that are required to

control the memory, I/O and interrupt interfaces. control the memory, I/O and interrupt interfaces.

 Specially the WR, M/IO, DT/R, DEN, ALE and INTA, signals areSpecially the WR, M/IO, DT/R, DEN, ALE and INTA, signals are

no longer produced by the 8

no longer produced by the 8086. Instead it outputs three status086. Instead it outputs three status signals S0, S1, S2 prior to the initiation of each bus cycle. This 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 3- bit bus status code identifies which type of bus cycle is to follow.

follow.

 S2S1S0 are input to the external bus controller device, the busS2S1S0 are input to the external bus controller device, the bus

controller generates the appropriately timed command and controller generates the appropriately timed command and control signals. control signals. S2 S2 S1S1 S0S0 IndicationIndication 82888288 Command Command

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Interrupt Interrupt Acknowledge Acknowledge Read Read I/I/ O poO portrt Write Write I/I/ O poO portrt Halt Halt Instruction Fetch Instruction Fetch Read Memory Read Memory W

W rite rite MemoryMemory Passive Passive INTA INTA I O R C I O R C IOW IOW C C ,, A I O W C A I O W C None None MRDC MRDC MRDC MRDC MWTC, MWTC, A M W C A M W C None None 

 The 8288 produces one or two of these eight command signalsThe 8288 produces one or two of these eight command signals

for each bus cycles. For instance, when the 8086 outputs the 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 code S2S1S0 equals 001, it indicates that an I/O read cycle is to be performed.

be performed.

 In the code 111 is output by the 8086, it is signaling that no busIn the code 111 is output by the 8086, it is signaling that no bus

activity is to take place. activity is to take place.

 The control outputs produced by the 8288 are DEN, DT/R andThe control outputs produced by the 8288 are DEN, DT/R and

ALE. These 3 signals provide the same functions as those ALE. These 3 signals provide the same functions as those described for the minimum system mode. This set of bus described for the minimum system mode. This set of bus

commands and control signals is compatible with the Multibus commands and control signals is compatible with the Multibus and industry standard for i

and industry standard for interfacing microprocessor systems.nterfacing microprocessor systems.

 The output of 8289 are bus arbitration signals:The output of 8289 are bus arbitration signals:

Bus busy (BUSY), common bus request (CBRQ), bus priority out Bus busy (BUSY), common bus request (CBRQ), bus priority out (BPRO), bus priority in (BPRN), bus request (BREQ) and bus clock (BPRO), bus priority in (BPRN), bus request (BREQ) and bus clock (BCLK).

(BCLK).

 They correspond to the bus exchange signals of the Multibus andThey correspond to the bus exchange signals of the Multibus and

are used to lock

are used to lock other processor off the system bus during theother processor off the system bus during the execution of an instruction by the 8086.

execution of an instruction by the 8086.

 In this way the processor can be assured of uninterrupted accessIn this way the processor can be assured of uninterrupted access

to common system resources such as global memory. to common system resources such as global memory.

 Queue Status Signals : Two new signals that are produced byQueue Status Signals : Two new signals that are produced by

the 8086 in the maximum-mode system are queue status the 8086 in the maximum-mode system are queue status

 Following table shows the four different queue status.Following table shows the four different queue status.

QS1

QS1 QS0QS0 Queue StatusQueue Status

0 (low) 0 (low) 00

Queue Empty. The queue has been Queue Empty. The queue has been

reinitialized as a result of the execution of a reinitialized as a result of the execution of a transfer instruction.

transfer instruction. 0

0 11 First Byte. The byte taken First Byte. The byte taken from the queuefrom the queue was the first byte of the instruction.

was the first byte of the instruction.

1

1 00

Queue Empty. The queue has been Queue Empty. The queue has been

reinitialized as a result of the execution of a reinitialized as a result of the execution of a transfer instruction.

transfer instruction.

1

1 11

Subsequent Byte. The byte t

Subsequent Byte. The byte taken from theaken from the queue was a subsequent byte of the

queue was a subsequent byte of the instruction.

instruction.

Table - Queue status codes Table - Queue status codes

 Local Bus Control Signal – Request / Grant Signals: In aLocal Bus Control Signal – Request / Grant Signals: In a

maximum mode configuration, the minimum mode HOLD, HLDA maximum mode configuration, the minimum mode HOLD, HLDA interface is also changed. These two are replaced by

interface is also changed. These two are replaced by

request/grant lines RQ/ GT0 and RQ/ GT1, respectively. They request/grant lines RQ/ GT0 and RQ/ GT1, respectively. They provide a prioritized bus access mechanism for accessing the provide a prioritized bus access mechanism for accessing the local bus.

local bus.

E

Ex a mx a m

p lp le Pe Pr o gr o gr a mr a m

s s o f o f 88

00

88

6  6  

 Write an 8086 program that adds two packed BCD numbers input from theWrite an 8086 program that adds two packed BCD numbers input from the

keyboard and computes and displays the result on the system video monitor keyboard and computes and displays the result on the system video monitor

 Data should be in the form 64+89= The answer 153 should appear in the nextData should be in the form 64+89= The answer 153 should appear in the next

line. line.

Program: Program:

Mov dx, buffer address Mov dx, buffer address Mov ah,0a

Mov ah,0a Mov si,dx Mov si,dx

Mov byte ptr [si], 8 Mov byte ptr [si], 8 Int 21

Mov ah,0eh Mov ah,0eh Mov al,0ah Mov al,0ah Int 10 ;

Int 10 ; BIOS service 0e line feed position cursorBIOS service 0e line feed position cursor sub byte ptr[si+2], 30h

sub byte ptr[si+2], 30h sub byte ptr[si+3], 30h sub byte ptr[si+3], 30h sub byte ptr[si+5], 30h sub byte ptr[si+5], 30h sub byte ptr[si+6], 30h sub byte ptr[si+6], 30h Mov cl,4

Mov cl,4

Rol byte ptr [si+3],cl Rol byte ptr [si+3],cl Rol byte ptr [si+6],cl Rol byte ptr [si+6],cl Ror word ptr [si+2], cl Ror word ptr [si+2], cl Ror word ptr [si+2], cl Ror word ptr [si+2], cl Mov al, [si+3]

Mov al, [si+3] Add al, [si+6] Add al, [si+6] Daa Daa Mov bh,al Mov bh,al Jnc display Jnc display Mov al,1 Mov al,1 Call display Call display Mov al,bh Mov al,bh Call display Call display Int 20 Int 20 Display Subroutine: Display Subroutine:

mov

mov bl,al bl,al ; ; Save Save original original number number and and al,f0 al,f0 ;Force ;Force bits bits 0-3 0-3 lowlow mov

mov cl,4 cl,4 ; ; Four Four rotatesrotates ror

ror al,cl al,cl ; ; Rotate Rotate MSD MSD into into LSDLSD add

add al,30 al,30 ; ; Convert Convert to to ASCIIASCII mov

mov ah,0e ah,0e ; ; BIOS BIOS video video service service 0E0E int

int 10 10 ; ; Display Display charactercharacter mov

mov al,bl al,bl ; ; Recover Recover original original numbernumber and

and al,0f al,0f ; ; Force Force bits bits 4-7 4-7 lowlow add

add al,30 al,30 ; ; Convert Convert to to ASCIIASCII int

int 10 10 ; ; Display Display charactercharacter ret

ret ; ; Return Return to to calling calling programprogram ;;

;Input buffer begins here ;Input buffer begins here

Source :

Source :

http://www.8085projects.info/page/8086-details.aspx

http://www.8085projects.info/page/8086-details.aspx

In document 47633033-8086-Full (Page 67-72)

Related documents