MOV DSAX
MOV DIOFFSET BUFFER MOV DX0104H STATIN: IN ALDX TEST AL20H ;Ե5λ JZ STATIN ;5λΪ0 MOV DX0100H IN ALDX ; MOV [DI]AL CODE ENDS END STAT
ѯʽͷʽʲôȱ㣿жϷʽΪʲôֲѯʽȱ㣿
1.ѯʽͷʽȱǣCPUʱȴѭCPUЧʡ
2.жϷʽʱCPUжϣٽдͣCPU軨ʱȴѭֲ˲ѯʽȱ㡣
DMAȽϣжϴ䷽ʽʲô֮ CPUִһδҪ봫Ͳصִָеʱ䣬жϴͷʽܽݿ鴫ͣǰֽڻִ͡
DMAĵַΪʲô˫ģʲôʱDMAַʲôʱDMAַߴַ
1.ΪDMAҪCPUĿƣCPUijʼϢҪַѰַ˿ڣַΪߡΪDMAɿߣҪַΪԵַ߱Ϊ˫С 2.CPUҪDMAʼϢʱDMAַ 3.DMAõ߿Ȩַߴַ
6.14ʲô첽ʽ첽ʽʱ8251ATxDRxDϵݸʽ
D0D1Dn 8251A TxD
λ λ Уλ ֹͣλ D0D1Dn RxD λ λ Уλ ֹͣλ 1.Ƶʵʱӷֱ£ֻһʼλϢַ͵ķʽ첽ʽ 2.첽ʽʱ8251ATxDRxDϵݸʽΪ 6.15ʲôͬʽʲô˫ַͬʽͬͬʲô𣿻˫ͬʽʱ8251ATxDߺRxDϵݸʽ
1.ͬһʱӿַͬͬϢ鴫͵ķʽͬʽ
2.2ַͬͬʽ˫ַͬʽ
3.ֻܹͬͬշʽͬͬգҲַͬͬͬ͡һɹнӿڵͬһߵƽʾͬʵ֣нն˿ʼݡͬɴнӿڱַͬʵͬġ
4.˫ͬʱ8251ATxDRxDϵݸʽΪ
6.20 8251AģʽָʽΣս̲ϸʽдģʽ֣첽ʽ1ֹͣλżУ飬7λΪ16
1.8251AģʽָʽΪ(240ҳͼ6.11ʾ)
S2 S1 EP PEN L2 L1 B2 B1
SCS ESD EP PEN L2 L1 0 0 첽ģʽ ͬģʽ
2.첽ʽΪ16B2B1=101ֹͣλS2S1=01żУ飺EP=1PEN=17λL2L1=10ģʽΪ01111010B=7AH
5
6.23
οʼ̣ó8251Aͬģʽáַ˿ڵĵַΪ66H涨ͬʽַͬΪ2У飬7λ
ģʽΪ00011000B=18Hַͬȡ16HΪ97Hʹ8251Aַͬ
мͬʱʹ״̬Ĵе3־λʹ8251AķҲCPUǰýݴ䡣£
MOV OUT MOV OUT OUT MOV OUT
AL18H 66HAL AL16H 66HAL 66HAL AL97H 66HAL
;ÿ ;ַͬ ;ģʽ
6.31 8255Aùʽ8255AĿƿڵַΪ00C6HҪ˿A
ڷʽ1룻˿Bڷʽ0˿Cĸ4λ϶˿A4λΪ롣
MOV MOV OUT
6.32
DX00C6H AL0B1H DXAL
;ȡʽѡΪB1H(10110001B)B9H
8255A4˿ڵַΪ00C0H00C2H00C4H00C6HҪ
1/0ʽPC61PC40
MOV MOV OUT MOV OUT 7.2
8259AжμĴIMR8086/8088CPUж־IFʲôжӦУ
1.IMRijλΪ0λӦϵжδΣͨ
жȼþþIMRijλΪ1θλӦϵжжȼþ8086/8088CPUж־IFΪ1INTRȽжϣIFΪ0INTRȽжϡ8259AIMRλΪ0Ϊ1෴
2.жӦУIMRڶ8259Aж/ΣCPUIFڶ8259AINTCPUINTRȷж/Ρ
6
DX00C6H AL0DH DXAL AL08H DXAL
;PC40ĿΪ08H
;PC61ĿΪ0DH
7.9 8259AICW2жļλ˵8259AֱICW2Ϊ30H38H36Hʲô
1.8259AICW2жĸ5λ3λжӦж
Ⱥš
2.ICW2Ϊ30H36HʱȫͬӦ8жΪ30H~37HICW2Ϊ38HʱӦ8жΪ38H~3FH
7.16 ˵ʽжϵͳ8259AƬʹƬӹϵ
[] 1Ƭ8259Aܹ8ж,,ڻ·,9Ƭ8259A64ʽжϵͳ. ֺжƬ8259Aĸϵͳ,ƬIR7~IR0ֱ8ƬINT,ԴƬж,ƬINT˺CPUINTR,CPUж,ƬеĴƬCAS2һͬCAS1CAS0ҲֱһƬCAS2~CAS0ΪƬCAS2~CAS0Ϊ롣
ڰ
8.1 ˵DMAʽʱڴ贫ݵĹ̡
[] һӿҪʱDMAһDMADMAӵԺϷһCPUóߣһźţDMAӵźźͽַĴ͵ַϣͬʱӿڷһDMAشźţһI/OдźźһڴźţӿڽӵDMAشźԺ͵ϣDMAźţI/OڽյԺһDMAһźţDMAĵַĴݼ11ֵ1ңźţ˶һݵDMA䣬һεӿʱԽһµĴ䡣ֵΪ0ʱDMA̱ʱDMAӿڷһźţԱʾDMA 8.3DMA8237AʲôʱΪģ鹤ʲôʱΪģ鹤£źŴʲô״̬
[] 8237AΪģ鹤ʱ,ṩҪʵڴַ,ַĵλֽڷA7~A0,ַĸλֽڷDB7-DB0AENźΪߵƽģ鹤ʱ8237AҪĶ/дźţǷֱI/OźţI/Oдźţ洢дźšCPU͵8237AļĴߴ8237AļĴȡʱ8237AI/OӿһΪߵĴģ鹤8237Aģ鹤ʱCSHRQһΪ͵ƽʱIORIOWΪ/дƶˣIORΪ͵ƽʱCPUԶȡ8237AڲĴֵIOWΪ͵ƽʱCPUԽд8237AڲĴУCPU8237Aж/дʱAENΪ͵ƽ
8.8 CPUDMAӦҪȶжӦ,ԭ DMAʽCPUԤͲ,ǿʼͽβCPUһʱ,ռCPUκԴжϷʽdzл,ÿβҪͻֳָ ھ
9.1Ӳжʱ
ʱһ㶼ǸҪʱ䳣һӳӳӳӳаһָҪЩִָʱܵļ߾ȷIJԣԱȷӳʱķҪӲʱҪõ/ʱڼ£ȷʱӳ٣ַҪ˼ǸҪĶʱʱ䣬ָԼ/ʱöʱָ/ʱǼ/ʱʼƵȷֵʱԶһʱڼ/ʱʼԺCPUͲȥȥĹ
7
15
15,50 RS-232-CߺͨĴнӿʱ,ΪʲôҪеƽת? TTL ƽݹʹõƽת·TTL·ӡ 16
16.1 PentiumͼϵͳЩϵͳ?
CPUϵͳڴϵͳϵͳʾ̡ϵͳӡϵͳϵͳߺͿϵͳBIOS
16.7 -ʽоƬ˼ʲô?ʲôŵȱ?
˼룺ٶCPUߣźŹͬPCIߣٶȽISAߣ˴μݴǰַϴߵ裻ɸоƬSIOꡢ̡ӡȡ
ȱ㣺ű֮ͨPCIߴϢ辺PCIߣPCI߸سʱ֮Ϣ䲻ͨ״ϵͳܵƿ 16.10 MCH-ICH-оƬʲôҪ?
űŲͬǣʽоƬ2оƬ֮䲻ͨPCIӣIHAרӣƬרϲκ
8

