📄 db14.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0050)file://\\Server\pub\Hacker\Documents\JM\jm1-01.txt -->
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR></HEAD>
<BODY><XMP> <ICW4>
A0 D7 D6 D5 D4 D3 D2 D1 D0
┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
┃ 1 ┃ 0 ┃ 0 ┃ 0 ┃SFNM┃ SUF┃M/S ┃AE01┃ UPM┃
└━━┴━━┴━━┴━━┴━┬┴━┬┴━┬┴━┬┴━┬┘
┃ └━┬┘ ┃ ┃ 1=8086/8088 模式
┌━┘ 互┃ ┃ └━
┃ 相┃ ┃ 0=MCS 80/85 模式
┃ 配┃ ┃
1:特别巢状模式 合┃ └━━━━1=自动 E0I
0:不是特别巢状 ┌━━┬━━━━━┐ 0=正常 E0I
模式 ┃0 X ┃1.没有缓冲┃
├━━┤ 模式 ┃
┃1 0 ┃2.缓冲模式┃
├━━┤ /从元件 ┃
┃1 1 ┃3.缓冲模式┃
├━━┘ /主元件 ┃
└━━━━━━━━┘
哇...我花了好多时间KEYIN喔..怎么都没人写信给我感谢一下呢?? 哈 ..我93年6月20日
要到成功岭暑训罗..这是之前的小礼物吧! 若下一集可能要等到 7月底罗!..所以希望各
位好好的利用 暑假多K点书,也希望您真的喜欢我写的『破解入门』的话 请到破解技术
交流网来写写信喔!..当然你有任何问题 可以写信给我 ID:YU HWANG 就可以了 本网要
您的加入才会更加茁壮,当然来本网并非一定要高手才可以来的喔!..也有一些飙信大王
的信管等著您来飙信,我希望藉著您对我的爱护,并对破解技术交流网草创不久给与鼓励
与支持。
讲了一些话..再来继续讲 OCW的指令用法..各位看官接招罗...如附图(六):
<OCW1>
A0 D7 D6 D5 D4 D3 D2 D1 D0
┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
┃ 1 ┃ M7 ┃ M6 ┃ M5 ┃ M4 ┃ M3 ┃ M2 ┃ M1 ┃ M0 ┃
└━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┘
(D7~M0)
这些是用来设定及清除 IMR (中断罩盖暂存器) 中相对应的罩盖位元。
其中 M0 控制 IR0,M1控制 IR1......依此类推 M7控制IR7。
若 MX=1 表示相对应的 IRX 中断被禁能, 此时若有来自 IRX 的硬体中断 8259A 亦不
会去理会中断请求,若反之 MX=0 则表示其对应的中断致能,此时若有中断产生时,CPU
会跳到中断副程式去执行。
<OCW2>
A0 D7 D6 D5 D4 D3 D2 D1 D0
┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
┃ 0 ┃ R ┃ SL ┃ EOI┃ 0 ┃ 0 ┃ L2 ┃ L1 ┃ L0 ┃
└━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┘
(D2~D0) 此三个位元是决定中断序号,配合D5~D7使用形成8种组合。
(D4~D3)
此二位元必须设定为 0 ,为 OCW2 的识别码。
(D7~D5)
此三位元是用来控制旋转模式,中断结束模式以及二者合并的模式,共有 8 种组合。
当 8259A收到此一命令组时,它会自动将目前正在接受处理的IR输入所对应ISR的位
元清除为0。
<OCW3>
A0 D7 D6 D5 D4 D3 D2 D1 D0
┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
┃ 0 ┃ 0 ┃ESMM┃SMM ┃ 0 ┃ 1 ┃ P ┃ RR ┃ RIS┃
└━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┘
(D1,D0)
此二位元是读取 ISR及IRR 暂存器中的内容。 共有四组组合方式...
┌━━┬━━┬━━━━━━┐
┃ RR ┃RIS ┃ 功 能 ┃
├━━┼━━┼━━━━━━┤
┃ 0 ┃ 0 ┃不动作 ┃
├━━┼━━┼━━━━━━┤
┃ 0 ┃ 1 ┃不动作 ┃
├━━┼━━┼━━━━━━┤
┃ 1 ┃ 0 ┃读IRR暂存器 ┃
├━━┼━━┼━━━━━━┤
┃ 1 ┃ 1 ┃读ISR暂存器 ┃
└━━┴━━┴━━━━━━┘
(D2)
此位元是 8259A为查询或中断 模式。 当P=1时,8259A 被设定为查询模式,反之为
非查询模式。
(D4~D3)
此二位元没有用到。D3必须设定为1 (OCW3的识别位元),D4必须设定为0 。
(D6~D5)
此二位元是用来设定特殊罩盖模式(Special Mask Mode),共有四种组合,如下..
┌━━┬━━┬━━━━━━━┐
┃ESMM┃SMM ┃ 功 能 ┃
├━━┼━━┼━━━━━━━┤
┃ 0 ┃ 0 ┃不动作 ┃
├━━┼━━┼━━━━━━━┤
┃ 0 ┃ 1 ┃不动作 ┃
├━━┼━━┼━━━━━━━┤
┃ 1 ┃ 0 ┃清除罩盖暂存器┃
├━━┼━━┼━━━━━━━┤
┃ 1 ┃ 1 ┃清除罩盖暂存器┃
└━━┴━━┴━━━━━━━┘
哇...终於讲解完 8259A的一些命令组的用法及一些简单介绍...
附图(七)
8259A #1 (主) 8259A #1 (次)
┌━━┬━━━┐ ┌━━┬━━━┐ 如附图(七)中,可以大概看出 8259A所要的暂存
┃位址┃暂存器┃ ┃位址┃暂存器┃ 器超过 2个I/O位址所能提供的,解决的方法
├━━┼━━━┤ ├━━┼━━━┤ 是必须以一定的规划流程及利用某些特定位
┃ 20H┃ ICW1 ┃ ┃ A0H┃ ICW1 ┃ 元来决定暂存器。
├━━┼━━━┤ ├━━┼━━━┤
┃ 21H┃ ICW2 ┃ ┃ A1H┃ ICW2 ┃
├━━┼━━━┤ ├━━┼━━━┤
┃ 21H┃ ICW3 ┃ ┃ A1H┃ ICW3 ┃
├━━┼━━━┤ ├━━┼━━━┤
┃ 21H┃ ICW4 ┃ ┃ A1H┃ ICW4 ┃
├━━┼━━━┤ ├━━┼━━━┤
┃ 21H┃ 0CW1 ┃ ┃ A1H┃ 0CW1 ┃
├━━┼━━━┤ ├━━┼━━━┤
┃ 20H┃ 0CW2 ┃ ┃ A0H┃ 0CW2 ┃
├━━┼━━━┤ ├━━┼━━━┤
┃ 20H┃ 0CW3 ┃ ┃ A0H┃ 0CW3 ┃
└━━┴━━━┘ └━━┴━━━┘
我写一些范例让您知道一下规划方式:
┌ MOV AL,11H ┐ICW1,8259主 需要ICW4 IR 中断输入为边缘触发模式
┃ OUT 20H,AL ┘
┃ MOV AL,8 ┐ICW2,从中断向量表 TYPE 8 开始,可以参考 ICW2
┃ OUT 21H,AL ┘
8259主 MOV AL,04H ┐ICW3,(主) 8259的IR2为仆 8259(次)的 中断输入
┃ OUT 21H,AL ┘
┃ MOV AL,01H ┐ICW4,非缓冲模式,8086/8088
┃ OUT 21H,AL ┘
┃ MOV AL,0FFH┐8259(主) 之OCW1,罩盖所有的中断输入
└ OUT 21H,AL ┘
┌ MOV AL,11H ┐ICW1,8259(次),需要ICW4 IR中断输入为边缘触发模式
┃ OUT 0A0H,AL┘
┃ MOV AL,70H ┐ICW2,从中断向量表 TYPE 12 开始
┃ OUT 0A1H,AL┘
┃ MOV AL,02H ┐ICW3,次 ID
8259次 OUT 0AH,AL ┘
┃ MOV AL,01H ┐ICW4,没有缓冲模式,8088/8086 模式
┃ OUT 0A1H,AL┘
┃ MOV AL,0FFH┐8259(次)之 OCW1,罩盖所有中断输入
└ OUT 0A1H,AL┘
若不懂的话,可以参考我前面的附图就可以罗! 以上我希望您能多用点心去研究,如果您没
用些心去了解的话,那我也没那么多时间可以一一为您解释,我相信我所写出来的这些一定
可以让您了解 8259的概况,当然还有一些细节比较无关紧要,所以我就没列出来了.您可以
去参考一些PC/AT内部硬体的书就可以罗!
</XMP></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -