΢ÐͼÆËã»úÔ­Àí¼°Ó¦ÓÃÊÔÌâ¼°´ð°¸×ÊÁÏ ÏÂÔØ±¾ÎÄ

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

˵Ã÷£ºÈçÄÜʵÏÖÒªÇó¹¦ÄÜ£¬ÓÃÆäËûÓï¾äÒ²¿É¡£Êý¾Ý´«ËͱØÐë´ÓºóÏòǰ½øÐС£