⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 db14.htm

📁 debug编程的教程
💻 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 + -