| 
注册时间2005-3-25
阅读权限30
最后登录1970-1-1UID405 龙战于野 
 
 该用户从未签到 | 
 
 
 楼主|
发表于 2005-3-27 21:18:51
|
显示全部楼层 
| 这是在前面例子的基础上把CS信号反了相,读者还可以适当加入一些无用的电阻,电容等器件,以迷惑解密者。同时,我们还需要把相应的程序修改一下,把原来对CS信号的控制也反相才行。 
 ......    ......
 ......    ......
 ;---------------------------------------------[+]
 ;设置EEPROM的片选CS为高电平,即选中EEPROM(-AUTO FEED线反相
 ;后接CS)
 ;硬件电路变化时,本部分程序应作相应改动
 ;---------------------------------------------[+]
 SetCS    macro
 push ax
 CtrlPort          ;选择控制口
 in   al,dx
 ;       and  al,not,02h   ;令-AUTO FEED线输出
 ;为高电平
 or   al,02h       ;令-AUTO FEED线输出
 ;为低电平
 KbdTest_Add_AL    ;检查键盘中断,若被开
 ;放,则改变al值
 out  dx,al
 _CtrlPort         ;选择数据口
 pop  ax
 endm
 ;
 ;--------------------------------------------[+]
 ;设置EEPROM的片选CS为低电平,即不选中EEPROM(-AUTO FEED线反相
 ;后接CS)
 ;硬件电路改变时,本部分程序应作相应改动
 ;--------------------------------------------[+]
 ClearCS    macro
 push  ax
 CtrlPort        ;选择控制器
 in    al,dx
 or    al,02h    ;令-AUTO FEED线输出
 ;为低电平
 and   al,not 02h;为高电平
 KbdTest_Add_0w  ;检查键盘中断,若被开放
 ;则改变_const_word_0_值
 out   dx,al
 _CtrlPort       ;选择数据口
 pop   ax
 endm
 ;
 ......    ......
 ......    ......
 
 
 例2  在电路中加入一个或非门,使得必须用两根并行口的信号线来得到一根93CX的控制线,这里采用了COMS型的74HC02或非门。
 
 这是在前面例子的基础上把CS信号用两根口线(D2和D3)来控制,还可以适当假如一些无用的电阻、电容等器件,以迷惑解密者。同时,我们还需要把相应的程序修改成只有当D2和D3都为低电平时CS才为高电平。
 
 ......    ......
 ......    ......
 ;--------------------------------------------[+]
 ;设置EEPROM的片选CS为高电平,即选中EEPROM(D2D3线或非后接CS)
 ;硬件电路改变时,本部分程序应作相应改动
 ;--------------------------------------------[+]
 SetCS    macro
 push    ax
 in      al,dx      ;取数据口数据
 and     al,not,0ch ;令D2D3线都输出低电平
 KbdTest_Add_AL     ;检查键盘中断,若被开
 ;放,则改变al值
 out     dx,al
 pop     ax
 endm
 ;--------------------------------------------[+]
 ClearCS    macro
 push    ax
 in      al,dx    ;取数据口数据
 or      al,08h   ;令D2=0,D3=1
 KbdTest_Add_0W   ;检查键盘中断,若被开放
 ;则改变_const_word_0_值
 out     dx,al
 pop     ax
 endm
 ......    ......
 ......    ......
 | 
 |