6 /*
6 /
*
*8088/8086
*6.1 I/O
*6.1.1 I/O1TTLMOS23CPU
*45cpu6
*
*6.1.2 I/OCPU
*
*6.2 I/OCPUCPUCPUCPU
*CPUCPU
*
*
*74LS273 D0
D0
D7
D7
~~A0
A1
A2
A3
A4
A5
A6
A7
IOW&
&
1
1
1
CP
+ 5V
Q0
Q1
Q6
Q7
A8
A9
A10
A11
A12
A13
A14
A15
+ 5V74LS27374LS273
*6.2.2 I/OI/OI/OI/O
*I/OI/OI/O
*I/OI/O I/O
*8088/8086CPUI/OA0~A1564K0000H~FFFFHIORIOWIO/MWRRD816
*
* D0 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 1 1 IOR +5V 10K K
*INOUT
*I/OI/O
*D0
D7
~D0
D7
~Q0
1
1
1
1
1
1
1
1
Q1
Q2
Q3
Q4
Q5
Q6
Q7
CP
74LS273
7406
5108
a
b
c
d
e
f
g
+5V10K
K
C
IOW
1
74LS138
1
A0
IOR
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11A12A13A14A151
&
C
G2AG2BB
A
Y0
Y1
D0DPG1A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A00 0 0 0 0 0 0 0 1 1 1 1 0 X X X74LS244
*
*6.3 CPUDMA
*6.3.1
*
*
*6.3.2 I/OCPUCPU
*
N
N
Y
Y
1
1
2
2
3
3
n
n
N
Y
N
N
N
Y
Y
Y
*6.3.3 CPUCPUI/O
*
*CPUProgrammed input and outputPIO
*6.3.4 DMADirect Memory AccessDMAI/OCPUDMADMADMAC8237A-58237-2
*DMACDMACCPUDMADMACPUDMACPU
*DMAC DMADMADRQ DMACPUHOLD CPUDMAHLDA DMAHLDADMADACK DMA DMACPUHOLDCPUHOLDHLDA
*
*6.4 1234
*1.
*74LS24481G2G4AYAYAY
*FFC0HFFC1H:MOV DX, 0FFC0HIN AL, DX
*6-188GOONNEXT
*
*MOV DX, 0FFC1H IN AL, DX TEST AL, 0FFH JZ GOONNEXT: MOV AX, BXADD AX, CXGOON:
*K3K3LabelTEST AL, 4JNZ Label Label:
*6.4.2 74LS27374LS3748DD0D7, Q0Q7MRQ0CPCPD0~D7Q0~Q7
*74LS273 D0
D0
D7
D7
~~A0
A1
A2
A3
A4
A5
A6
A7
IOW&
&
1
1
1
CP
+ 5V
Q0
Q1
Q6
Q7
A8
A9
A10
A11
A12
A13
A14
A15
+ 5V74LS27374LS273
*LED
*LED
0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07HFFH00H880H7FH
*6-274LS2738LEDLED0~F
*
*74LS273FE00H
*DSEGSEGMENTSEG8 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 6FH,77H,7CH,39H,5EH,79H,71H,00HDSEGENDS
*CSEGSEGMENTASSUME CS:CSEG ,DS: DSEG START:MOVAX, DSEGMOVDS, AXLEA BX, SEG8;8MOV DX, 0FE00H AA1: MOVSI, 0AA2: MOV AL, BX+SI;OUT DX, AL
*CALL DELAY;INC SICMP SI, 16JZ AA1JMP AA2MOV AH, 4CHINT 21HCSEG ENDSEND START
*DELAY PROC NEAR;PUSH CX MOV CX2FFFHSUBS:LOOPSUBSPOPCXRET DELAYENDP;
*6.5
*CPU
*CPU
*CPU
*6.6
*6.6.1 CPUINTRNMIINTRIFIF=1CPUIF=0CPUNMI
*
.
.
D0~D7
6-17
I0I1I2I3I4I5I6I7
IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7
74LS244
D0D7
.
1
1
&
A0A1A2A3A4A5A6A7A8A9A10A15
A11A12A13A14
1
.
.
.
.
.
.
INTR
*6.6.2 CPUCPUCPU
*CPU1
*
.
.
D0~D7
6-17
I0I1I2I3I4I5I6I7
IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7
74LS244
D0D7
.
1
1
&
A0A1A2A3A4A5A6A7A8A9A10A15
A11A12A13A14
1
.
.
.
.
.
.
INTR
* MOV DX, 87FFHIN AL, DX ;RCR AL, 1JC IR0 ;IRQ0IR0RCR AL,1JC IR1 ;IRQ1IR1RCR AL,1JC IR2 ;IRQ2IR2
*
*1. CPUCPUINTAINTA
*INTA
*1INTA
*CPUCPU
*6.6.3 CPUINTA FLAGS IF=0 CS IP IPCS
*6.6.4
*6.6.5 CPUIPCSFLAGSIRET
*6.7 8086/80888086/8088CPU2560~255
*
*1. 2NMICPUINTA/
*INTRCPUIFIF=1CPUINTRIF=0CPUINTRIFSTICLI
*2. INT nINT3INTO
*INT nCPUINT nnn0255INT nINT3CPUINT330CCH
*INTO 4CPUINTOOFOF=14OF=0INTOMOV BL126 MOV AL5 ADD ALBL ;OF=1 INTO ;
* 000 11TF=1TFTrapTF=1CPU
*3.8088/8086>>INT n>INTO>>
8088/8086CPU(1). CPU2
*
*(2). CPU4 CPUIF=1 STIIRETCPUCPU CPU
(3). CPUINTA FLAGS IF=0 CS IP IPCS
*
(4).
(5). IRET*
*4. 8086
*
*25642561K8088/808600000003FFH
*=4n21H00000084H
4n+1,4nIPIP=4n4n+14n+3,4n+2CSIP= 4n+24n+3 CPUn
*20H20H480H
20HCS:IP=4000H:2010H
10H20H00H40H
.
*5. 8086/8088CPUCPU
*5. 8086/8088CPU IFTF0 IPCS IPCS
6.8 8259A8259A8648259A 5V*
*346781214157