POP DS
IRET £»¼ì²âÊÇ·ñÓмü°´Ï³ÌÐò BREAK PROC NEAR PUSH DS
MOV AH,06H MOV DL,0FFH INT 21H JE POP
RETURN DS
CLI £»»Ö¸´ÖÐ¶ÏÆÁ±ÎÃüÁî×Ö MOV AL,MKBAK
OUT 0A1H,AL£»»Ö¸´ÖжÏÈë¿ÚµØÖ· MOV AX,0000H MOV ES,AX
MOV DI,01CCH £»INT 73H,01CCH=73H*4£¬¸ù¾ÝÖжϺÅÐÞ¸Ä MOV AX,IPBAK CLD STOSW
MOV AX,CSBAK
STOSW
MOV DX,INTCSR_BYTE1 MOV AL,00H OUT DX,AL STI
MOV AX,4C00H INT 21H RETURN:POP DS RET BREAK ENDP CODE ENDS END START
ËÄ£®ÊÕ»ñÌå»á¡£
ʵÑéÖпªÊ¼Ê¹ÓûúÏä²¢ÐнӿڲÙ×÷£¬ÔÚDOS½çÃæÏ²Ù×÷¡£ÔÚÀÏʦÒѸøµÄ³ÌÐò´úÂëµÄ»ù´¡ÉÏ£¬Ð޸Ķ˿ڵØÖ·£¬ÔËÐгÌÐò¡£¶ÔÀíÂÛ֪ʶµÄÈÏʶ»¹²»¹»Éî¿Ì£¬Êµ¼Ê²Ù×÷ÆðÀ´ÂÔÏÔËÀ°å£¬Ò²³öÏÖÁËЩÎÊÌ⣬±ÈÈç¶Ë¿ÚµØÖ·Ð޸IJ»ÕýÈ·£¬Á¬ÏßûÓÐÒ»Ò»¶ÔÓ¦µÈ³öÏÖÔËÐÐʧ°Ü¡£ÔÚÐ޸ĺó²ÅÕý³£ÔËÐС£½ñºó³ýÁ˼ӽôÀíÂÛµÄѧϰΪ»¹ÐèÖð²½ÍêÉÆ×Ô¼ºµÄʵ¼ù²Ù×÷ϰ¹ß£¬Ìá¸ß×Ô¼ºµÄѧϰÄÜÁ¦¡£
ʵÑé°Ë¡¢8254¶¨Ê±¼ÆÊýÆ÷Ó¦ÓÃ
Ò»£®ÊµÑéÄÚÈÝ
1.¼ÆÊýÓ¦ÓÃʵÑ飺±àд³ÌÐò£¬Ó¦ÓÃ8254µÄ¼ÆÊý¹¦ÄÜ£¬Óÿª¹ØÄ£Äâ¼ÆÊý¡£Ê¹Ã¿µ±°´¶¯¿ª¹Ø
29
KK1Îå´Îºó£¬²úÉúÖжϣ¬²¢ÔÚÆÁÄ»ÉÏÏÔʾһ¸ö×Ö·û¡°M¡±¡£
2.¶¨Ê±Ó¦Óãº×Ô¼º±àд³ÌÐò£¬Ó¦ÓÃ8254µÄ¶¨Ê±¹¦ÄÜ£¬½«ÆÁÄ»Éè¼ÆÎªÒ»¸öÃë±í¡£ 3.µç×Ó·¢Éù£º×Ô¼º±àд³ÌÐòÈÃʵÑé×°ÖÃÉϵÄÑïÉùÆ÷ºÍPC»úÉϵÄÑïÉùÆ÷³ª¸è¡£ ¶þ£®·ÖÎöÉè¼ÆË¼Ïë £¨Ò»£©ÊµÑéÔÀí
8254ÊÇIntel¹«Ë¾Éú²úµÄ¿É±à³Ì¼ä¸ô¶¨Ê±Æ÷¡£ÊÇ8253µÄ¸Ä½øÐÍ£¬±È8253¾ßÓиüÓÅÁ¼µÄÐÔÄÜ¡£8254¾ßÓÐÒÔÏ»ù±¾¹¦ÄÜ£º
£¨1£©ÓÐ3¸ö¶ÀÁ¢µÄ16λ¼ÆÊýͨµÀ£»
£¨2£©Ã¿¸ö¼ÆÊýÆ÷¿É°´¶þ½øÖÆ»òÊ®½øÖÆ£¨BCD£©¼ÆÊý£» £¨3£©Ã¿¸ö¼ÆÊýÆ÷¿É±à³Ì¹¤×÷ÔÚ6ÖÖ²»Í¬¹¤×÷·½Ê½£»
£¨4£©Ã¿¸ö¼ÆÊýÆ÷ÔÊÐíµÄ×î¸ß¼ÆÊýƵÂÊΪ10MNZ£¨8253Ϊ2MHZ£©£»
£¨5£©ÓжÁ»ØÃüÁ8253ûÓУ©£¬¿ÉÒÔ¶Á³öµ±Ç°¼ÆÊýµ¥ÔªµÄÄÚÈݺÍ״̬¼Ä´æÆ÷ÄÚÈÝ£»
13-
ͼ13-1ÊÇ8254µÄÄÚ²¿½á¹¹¿òͼºÍ¹Ü½Åͼ¡£ËüÊÇÓÉÓëCPUµÄ½Ó¿Ú¡¢ÄÚ²¿¿ØÖƵç·ºÍÈý¸ö¼ÆÊýÆ÷×é³É¡£
Èý¸ö¶ÀÁ¢µÄ¼ÆÊýÆ÷£¬Ã¿¸ö¼ÆÊýÆ÷µÄ½á¹¹ÍêÈ«Ïàͬ£¬Èçͼ13-2¡£
Êý¾Ý×ÜÏß 3¸öÒý½Ç£ºGATEi¡ª¡ªÃÅ¿ØÐźÅÊäÈë¶Ë CLKi¡ª¡ª¼ÆÊýÂö³åÊäÈë¶Ë ¼ÆÊý³õÖµ¼Ä´æÆ÷ OUTi¡ª¡ªÐźÅÊä³ö¶Ë
GATEiOUTi 16λ¼õ1¼ÆÊýÆ÷ CLKi
Êä³öËø´æÆ÷ ͼ13-2 ¼ÆÊýÆ÷½á¹¹Ê¾Òâͼ
1¡¢¹¤×÷¹ý³Ì£º
£¨1£© ³õʼ»¯Ê±£¬³ÌÐòÔ±½«¼ÆÊý³õֵдÈë¼ÆÊý³õÖµ¼Ä´æÆ÷£¬×Ô¶¯ËÍÈë16λ¼õ1¼ÆÊýÆ÷¡£¼ÆÊý³õÖµ£Î£½£æCLKi¡Â£æOUTi
£¨2£© µ±GATEi£½1ʱ£¬Ã¿Ò»¸öCLKiÐźŵÄϽµÑØÊ¹¼õ1¼ÆÊýÆ÷¼õ1£¬Ëø´æÆ÷ËæÖ®±ä»¯¡£ £¨3£© µ±¼ÆÊýÖµ¼õµ½¹æ¶¨ÖµÊ±£¬OUTi¶Ë²úÉúÊä³öÐźš£ 2¡¢8254µÄ¹¤×÷·½Ê½£º
·½Ê½0¡ª¡ª¼ÆÊý½áÊøÊä³öÕýÔ¾±äÐźţ¨¿É×÷ΪÖжÏÇëÇóÐźţ©
30
·½Ê½1¡ª¡ªµ¥Âö³å·¢ÉúÆ÷£¨ÐγɸºÂö³å£¬¿í¶È=N¡ÁCLKÂö³åÖÜÆÚ£© ·½Ê½2¡ª¡ª·ÖƵÆ÷£¨Êä³ö¹Ì¶¨ÆµÂʵÄÂö³å£©
ͼ 13-3 ·½Ê½2²¨ÐÎͼ 13-4 ·½Ê½3¼ÆÊýÖµÎªÆæÊýʱµÄ²¨ÐÎ
·½Ê½3¡ª¡ª·½²¨·¢ÉúÆ÷
·½Ê½4¡ª¡ªÈí¼þ´¥·¢µÄµ¥Âö³å·¢ÉúÆ÷£¨Êä³ö¸ºÂö³å£¬¿í¶ÈΪһ¸öCLKÖÜÆÚ£© ·½Ê½5¡ª¡ªÓ²¼þ´¥·¢µÄµ¥Âö³å·¢ÉúÆ÷£¨Êä³ö¸ºÂö³å£¬¿í¶ÈΪһ¸öCLKÖÜÆÚ£© 3¡¢8254¶Ë¿ÚµØÖ·£º
µ±CS£½0ʱ£¬µØÖ·×ÜÏßµÄA1 A0×éºÏ£¨00¡«11£©£¬È·¶¨Ñ¡Ôñ0#¡¢1#¡¢2#¼ÆÊýÆ÷¼°¿ØÖƼĴæÆ÷
A1A0£½00£¬Ñ¡ÖÐ0# ¼ÆÊýÆ÷¶ÔÓ¦¶Ë¿ÚµÄÆ«ÒÆµØÖ·ÊÇ£º 40H A1A0£½01£¬Ñ¡ÖÐ1# ¼ÆÊýÆ÷ 41H A1A0£½10£¬Ñ¡ÖÐ2# ¼ÆÊýÆ÷ 42H A1A0£½11£¬Ñ¡ÖпØÖƼĴæÆ÷ 4¡¢8254µÄ¿ØÖÆ×Ö£º
43H
¿ØÖÆ×ÖÓÐÁ½¸ö£º·½Ê½¿ØÖÆ×Ö¹²ÓÃÒ»¸öµØÖ·£¬ÓɱêʶλÀ´Çø·Ö¡£
¶Á»Ø¿ØÖÆ×Ö
·½Ê½¿ØÖÆ×ÖÓÃÀ´ÉèÖüÆÊýÆ÷µÄ¹¤×÷·½Ê½£¬ÆäÃüÁî¸ñʽÈç±í13-1Ëùʾ¡£
¶Á»Ø¿ØÖÆ×Ö¸ñʽÈç±í13-2Ëùʾ¡£µ±¶Á»Ø¿ØÖÆ×ÖµÄD4λΪ0ʱ£¬ÓɸöÁ»Ø¿ØÖÆ×ÖD1~D2λָ¶¨µÄ¼ÆÊýÆ÷µÄ״̬¼Ä´æÆ÷ÄÚÈݽ«±»Ëø´æµ½×´Ì¬¼Ä´æÆ÷ÖС£×´Ì¬×Ö¸ñʽÈç±í13-3Ëùʾ¡£ 5¡¢8254³õʼ»¯±à³Ì²½Öè
Ò»²½£ºÏò¿ØÖƼĴæÆ÷дÈë¿ØÖÆ×Ö£¬È·¶¨Ê¹ÓõļÆÊýÆ÷¼°¹¤×÷·½Ê½¡£ ¶þ²½£ºÏòʹÓõļÆÊýÆ÷дÈë¼ÆÊý³õÖµ¡£
13-1
13-
001 = Ñ¡ÖмÆÊýÆ÷
31
0
010 = Ñ¡ÖмÆÊýÆ÷
13-3
£¨¶þ£©ÊµÑé˵Ã÷¼°²½Öè
1¡¢È·¶¨8254¶Ë¿ÚµØÖ·
Ö´ÐÐPCI_BIOS.EXE£¬»ñȡʵÑéÓÃPCI×ÜÏßÀ©Õ¹¿¨·ÖÅäµÄµØÖ·¿Õ¼ä¼°ÖжÏÇëÇóÏß¡£È·¶¨8254оƬËùʹÓõĶ˿ڵØÖ·£º
±¾ÏµÍ³ÖÐI/O²¿·ÖʵÑéʹÓõÄÊÇPCI×ÜÏßÀ©Õ¹¿¨ÉêÇëµÄµÚÈý¸öI/O¿Õ¼ä£¨¼´BASE 2£¬¼ÙÉèΪ0C000H£©¡£¸÷I/O½Ó¿ÚоƬµÄ¶Ë¿ÚµØÖ·¶¨ÒåΪ£º
BASE 2µÄÊ×µØÖ·+ ¸÷¶Ë¿ÚµÄÆ«ÒÆµØÖ·
8254¶Ë¿ÚµÄÆ«ÒÆµØÖ·¶¨ÒåΪ£º
¼ÆÊýÆ÷0£º40H ¼ÆÊýÆ÷1£º41H ¼ÆÊýÆ÷2£º42H ¿ØÖƶ˿ڣº43H CPU·ÃÎÊ8254¶Ë¿ÚµØÖ·Îª£º
¼ÆÊýÆ÷0£º0C040H ¼ÆÊýÆ÷1£º0C041H ¼ÆÊýÆ÷2£º0C042H ¿ØÖƶ˿ڣº0C043H
2¡¢¼ÆÊýÓ¦ÓÃʵÑé
±àд³ÌÐò£¬½«8254µÄ¼ÆÊýÆ÷0ÉèÖÃΪ·½Ê½3£¬¼ÆÊýֵΪʮ½øÖÆ5£¬ÓÃ΢¶¯¿ª¹ØKK1×÷ΪCLK0ʱÖÓ£¬OUT0Á¬½ÓIRQ£¬Ã¿µ±KK1°´¶¯5´Îºó²úÉúÖжÏÇëÇó£¬ÔÚÖжϷþÎñ³ÌÐòÖÐÍê³ÉÆÁÄ»ÉÏÏÔʾ×Ö·û¡°M¡±¡£²Î¿¼½ÓÏßͼÈçͼ13-5Ëùʾ¡£
ʵÑé²½ÖèÈçÏ£º
£¨1£© Ö´ÐÐPCI_BIOS.EXEÎļþ£¬È·¶¨ÊµÑé×°ÖÃÖÐ8254µÄ¸÷¶Ë¿ÚµØÖ·¡£°´ÊµÑéÄÚÈݱàд³ÌÐò£¨²Î¿¼³ÌÐò¼ûºó£©£¬±àÒë¡¢Á¬½Ó£¬Éú³ÉÖ´ÐÐÎļþ¡£ £¨2£© Éè¼ÆÊµÑéÏß·ͼ£¬Íê³ÉÏß·Á¬½Ó¡£
£¨3£© ´ò¿ªÊµÑéÏäµçÔ´£¬ÔËÐгÌÐò£¬°´¶¯KK1΢¶¯¿ª¹Ø£¬¹Û²ìÊÇ·ñ°´¶¯5´ÎºóÆÁÄ»ÏÔʾ×Ö
·û¡°M¡±¡£
£¨4£© ·ÖÎö¸Ã³ÌÐò½á¹¹£¬Àí½âÈçºÎ¶Ô8254³õʼ»¯£¬ÈçºÎʵÏÖÖжϷþÎñ¡£ £¨5£© Ð޸ļÆÊý³õÖµ£¬´Ó¶øÊµÏÖ²»Í¬ÒªÇóµÄ¼ÆÊý¡£
13 -
3¡¢¶¨Ê±Ó¦ÓÃʵÑ顪¡ªÃë±íµÄÉè¼Æ
32