8088ϵͳBUSD7D0A0A110987654325242123222272620A0A1A2A3A4A5A6A7A8A9A10A11A12OEWECS2CS1D0D1D2D3D4D5D6D762641112131516171819A12 MEMRMEMWA18A19A17A16A15A14A13+5V
Áù¡¢£¨±¾Ìâ15·Ö£© 1.
(1)£®µç·ͼÈçÏ£¨6·Ö£©
+5RRRS?ROW043214039383718192021222324251415161713121110PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7SW-PBD0D1D2D3D4D5D6D7RDWRA0A1RESETCS343332313029282753698356ROW1ROW7
µÚ6Ìâµç·ͼ (2).µç·¹¤×÷ÔÀí£º£¨4·Ö£¬Ã¿¸ö֪ʶµã1·Ö£©
1£©8255AµÄ¿ÚAÉèÖÃΪÊä³ö״̬£¬PA0¡«PA7½ÓÐÐÏßROW0¡«ROW7¡£ 2£©8255AµÄ¿ÚBÉèÖÃΪÊäÈë״̬£¬PB0¡«PB7½ÓÁÐÏßC0¡«C7¡£ 3£©µç×èRΪÁÐÏßÉÏÀµç×裬±£Ö¤ÁÐÏß¾²Ì¬µçλΪ¸ßµçƽ¡£
4£©ÐÐÁÐÏß½»µã½ÓÒ»¿ª¹Ø£¬¿ª¹Ø°´ÏÂʱ½«½»µãÉÏÐÐÏßÂ߼״̬Ë͵½¸Ã½»µãµÄÁÐÏßÉÏ¡£ (3.ÐÐɨÃ跨ʶ±ð¼ü°´Ï£¨5·Ö£¬Ã¿¸ö֪ʶµã1·Ö£©
1£©É¨Ãè³ÌÐòÊ×ÏÈÈÃ8255AµÄ¿ÚAÊä³öɨÃèÂ루³õֵΪ11111110B£©£»
2£©É¨Ãè³ÌÐò¶ÁÈë8255AµÄB¿ÚÁ¬½ÓµÄÁÐÏß״̬£¬ÅжÏÊÇ·ñÓÐΪÂß¼0µÄÁÐÏߣ»
3£©ÈôB¿Ú¶ÁÈëÓÐΪ0µÄλ£¬ËµÃ÷±¾ÐÐÓмü°´Ï£¬¾ÒÆÎ»¼ì²â³öΪ0µÄÁÐÏßÐòºÅ£¬Óëɨ
ÃèÂëΪ0λ¶ÔÓ¦µÄÐÐÏßÐòºÅ¹²Í¬ÐγɼüºÅ£¬×ªÏàÓ¦¼ü´¦Àí³ÌÐò£»
4£©ÈôB¿Ú¶ÁÈëûÓÐΪ0µÄλ£¬ËµÃ÷±¾ÐÐÎÞ¼ü°´Ï£¬ÐÞ¸ÄɨÃèÂ루µÚ¶þ´ÎΪ11111101B£© 5£©×ªÏò1£©£¬½øÐÐÏÂÒ»´ÎɨÃ裬Èç´ËÑ»·Ö±ÖÁ·¢ÏÖÓмü°´ÏÂΪֹ¡£ 2.
(1)£®²Î¿¼³ÌÐò£º DATA SEGMENT
ARRAY DB D1,D2,D3,...D80;D1,D2...80¸öÊý¾ÝÖµ MAX DB ? DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA
MOV DS,AX LEA SI,ARRAY MOV AH,0 MOV CX,80
AGAIN: MOV AL,[SI] INC SI CMP AL,AH JC NEXT MOV AH,AL NEXT: LOOP AGAIN MOV MAX,AH MVO AH,4CH INT 21H CODE ENDS END START
˵Ã÷£ºÃ»ÓÐÊý¾Ý¶¨Òå²»¿Û·Ö£»Ã»Óзµ»ØDOS²»¿Û·Ö¡£ÈçÄÜʵÏÖÒªÇó¹¦ÄÜ£¬ÓÃÆäËûÓï¾äÒ²¿É¡£ (2)£®²Î¿¼³ÌÐò£º CODE SEGMENT ASUME CS:CODE START:
MOV AX,3DA0H MOV DS,AX MOV ES,AX MOV SI,1FFFH MOV DI,1FFFH+8 MOV CX,1000H STD
REP MOVSB MOV AH,4CH INT 21H
CODE ENDS END START
˵Ã÷£ºÈçÄÜʵÏÖÒªÇó¹¦ÄÜ£¬ÓÃÆäËûÓï¾äÒ²¿É¡£Êý¾Ý´«ËͱØÐë´ÓºóÏòǰ½øÐС£