΢»úÔ­Àí¼°½Ó¿Ú¼¼Êõ-ϰÌâ´ð°¸ ÏÂÔØ±¾ÎÄ

΢»úÔ­Àí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤21¡¤

20. ±à³Ì£¬ÔÚÊý¾Ý¶ÎDATA1¿ªÊ¼µÄ80¸öÁ¬ÐøµÄ´æ´¢µ¥ÔªÖУ¬´æ·Å80λͬѧijÃſγÌ

µÄ¿¼ÊԳɼ¨(0¡«100)¡£±àд³ÌÐòͳ¼Æ³É¼¨¡Ý90·ÖµÄÈËÊý£¬80¡«89·ÖµÄÈËÊý£¬70¡«79·ÖµÄÈËÊý£¬60¡«69·ÖÒÔ¼°<60·ÖµÄÈËÊý¡£½«½á¹û´æ·Åµ½DATA2¿ªÊ¼µÄ´æ´¢µ¥ÔªÖС£

½â£ºDATA SEGMENT

DATA1 DB 80 DUP(?) ;¼Ù¶¨Ñ§Éú³É¼¨ÒÑ·ÅÈëÕâ80¸öµ¥ÔªÖÐ DATA2 DB 5 DUP(0) ;ͳ¼Æ½á¹ûµÄ´æ·Åµ¥Ôª DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV CX,80 ;ͳ¼Æ80¸öѧÉúµÄ³É¼¨

LEA SI,DATA1 LEA DI,DATA2

AGAIN: MOV AL,[SI] CMP AL,90 ;Óë90±È½Ï

JC NEXT1 ;СÓÚ90·Ö,תNEXT1 INC BYTE PTR [DI] ;·ñÔò90·ÖÒÔÉϵÄÈËÊý¼Ó1

JMP STO ;תѭ»·¿ØÖÆ´¦Àí NEXT1: CMP AL,80 ;Óë80±È½Ï

JC NEXT2 ;СÓÚ80·Ö,תNEXT2

INC BYTE PTR[DI+1] ;·ñÔò80·ÖÒÔÉϵÄÈËÊý¼Ó1 JMP STO

NEXT2: CMP AL,70 ;Óë70±È½Ï JC NEXT3 ;СÓÚ70·Ö,תNEXT3

INC BYTE PTR [DI+2] ;·ñÔò70·ÖÒÔÉϵÄÈËÊý¼Ó1

JMP STO

NEXT3: CMP AL,60 ;Óë60±È½Ï

JC NEXT4 ;СÓÚ60·Ö,תNEXT4

INC BYTE PTR [DI+3] ;·ñÔò60·ÖÒÔÉϵÄÈËÊý¼Ó1 JMP STO ;תѭ»·¿ØÖÆ´¦Àí NEXT4 NEXT4: INC BYTE PTR [DI+4] ;60·ÖÒÔϵÄÈËÊý¼Ó1 STO: INC SI ;Ö¸ÏòÏÂÒ»¸öѧÉú³É¼¨ LOOP AGAIN ;Ñ­»·£¬Ö±µ½ËùÓгɼ¨¶¼Í³¼ÆÍê MOV AH,4CH ;·µ»ØDOS INT 21H CODE ENDS

END START

¡¤22¡¤ ΢»úÔ­Àí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸

µÚÎåÕÂϰÌâ¼°´ð°¸

1. °ëµ¼Ìå´æ´¢Æ÷°´ÕÕ¹¤×÷·½Ê½¿É·ÖΪÄÄÁ½´óÀࣿËüÃǵÄÖ÷񻂿±ðÊÇʲô£¿ ´ð£º£¨1£©°ëµ¼Ìå´æ´¢Æ÷°´ÕÕ¹¤×÷·½Ê½¿É·ÖΪROM ºÍ RAM ¡£

£¨2£©ËüÃÇÖ®¼äµÄÖ÷񻂿±ðÊÇ£º

ROMÔÚÕý³£¹¤×÷ʱֻÄܶÁ³ö£¬²»ÄÜдÈë¡£RAMÔò¿É¶Á¿Éд¡£ ¶Ïµçºó£¬ROMÖеÄÄÚÈݲ»»á¶ªÊ§£¬RAMÖеÄÄÚÈݻᶪʧ¡£

2. ¾²Ì¬RAMºÍ¶¯Ì¬RAMµÄ´æ´¢ÔªµÄ¹¤×÷Ô­ÀíÊÇʲô£¿ ¶¯Ì¬RAMΪʲôÐèÒª¶¨Ê±Ë¢Ð£¿

´ð£º£¨1£©¾²Ì¬RAMµÄ´æ´¢ÔªµÄ¹¤×÷Ô­ÀíÊÇÀûÓÃË«ÎÈ̬´¥·¢Æ÷µÄ¹¤×÷Ô­Àí±£´æÐÅÏ¢£» ¶¯Ì¬RAMµÄ´æ´¢ÔªµÄ¹¤×÷Ô­ÀíÊǰѵçºÉ´æ´¢µ½µçÈÝÖÐÀ´ÊµÏÖÐÅÏ¢´æ´¢¡£

£¨2£©DRAMµÄ´æ´¢ÔªÒÔµçÈÝÀ´´æ´¢ÐÅÏ¢£¬ÓÉÓÚ´æÔÚ©µçÏÖÏ󣬵çÈÝÖд洢µÄµçºÉ»áÖð½¥Ð¹Â©£¬´Ó¶øÊ¹ÐÅÏ¢¶ªÊ§»ò³öÏÖ´íÎó¡£Òò´ËÐèÒª¶ÔÕâЩµçÈݶ¨Ê±½øÐС°Ë¢Ð¡±¡£

3. ´æ´¢Æ÷µÄµØÖ·ÒëÂë·½·¨ÓÐÄÄÁ½ÖÖ·½Ê½£¿

´ð£º´æ´¢Æ÷µÄµØÖ·ÒëÂë·½·¨ÓУºÈ«µØÖ·ÒëÂëºÍ²¿·ÖµØÖ·ÒëÂëÁ½ÖÖ¡£

4. ʲôÊÇλÀ©Õ¹£¿Ê²Ã´ÊÇ×ÖÀ©Õ¹£¿

´ð£º£¨1£©µ±´æ´¢Ð¾Æ¬Ã¿¸öµ¥ÔªµÄ×Ö³¤Ð¡ÓÚËùÐèÄÚ´æµ¥Ôª×Ö³¤Ê±£¬ÐèÒªÓöà¸öоƬ¹¹³ÉÂú×ã×Ö³¤ÒªÇóµÄ´æ´¢Ä£¿é£¬Õâ¾ÍÊÇλÀ©Õ¹¡£

£¨2£©µ±´æ´¢Ð¾Æ¬µÄÈÝÁ¿Ð¡ÓÚËùÐèÄÚ´æÈÝÁ¿Ê±£¬ÐèÒªÓöà¸öоƬ¹¹³ÉÂú×ãÈÝÁ¿ÒªÇóµÄ´æ´¢Æ÷£¬Õâ¾ÍÊÇ×ÖÀ©Õ¹¡£

5. Éè¼ÆÒ»¸ö4KB ROMÓë4KB RAM×é³ÉµÄ´æ´¢Æ÷ϵͳ£¬Ð¾Æ¬·Ö±ðÑ¡ÓÃ2716£¨2K¡Á8£©ºÍ6116

£¨2K¡Á8£©£¬ÆäµØÖ··¶Î§·Ö±ðΪ4000H~4FFFHºÍ6000H~6FFFH£¬CPUµØÖ·¿Õ¼äΪ64K£¬»­³ö´æ´¢ÏµÍ³ÓëCPUÁ¬½Óͼ¡£

´ð£º·ÖÎö£º2716£¨2KX8£© 11¸ùµØÖ·Ïß A0~~A10

6116£¨2KX8£© 11¸ùµØÖ·Ïß A0~~A10 CPU£º64K= 26X210 16¸ùµØÖ·Ïß A0~~A15

·Ö±ðÐèоƬ¸öÊý£º

2716: 4KX8/ 2KX8=2 6116: 4KX8/ 2KX8=2

΢»úÔ­Àí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤23¡¤

½«µØÖ·Õ¹¿ª³É¶þ½øÖÆ£º¢Ù 4KBµÄROMµØÖ·¿Õ¼ä 4000H~4FFFH

A15 A14 A13 A12 A11 A10¡­..A0 0 1 0 0 0 0¡­¡­ 0 0 1 0 0 0 1¡­¡­1 0 1 0 0 1 0¡­¡­0 0 1 0 0 1 1 ¡­¡­1

2716£¨2KX8£©£º2Ƭ

µÚһƬ µØÖ··¶Î§£º4000~~47FFH µÚ¶þƬ µØÖ··¶Î§£º4800H~~4FFFH ¢Ú4KBµÄRAMµØÖ·¿Õ¼ä£º6000H~6FFFH

A15 A14 A13 A12 A11 A10¡­..A0 0 1 1 0 0 0¡­¡­0 0 1 1 0 0 1¡­¡­1 0 1 1 0 1 0¡­¡­0 0 1 1 0 1 1 ¡­¡­1

6116£¨2KX8£©£º2Ƭ

µÚһƬ µØÖ··¶Î§£º6000~~67FFH µÚ¶þƬ µØÖ··¶Î§£º6800H~~6FFFH

ÀûÓãºCPU µÄÊ£ÓàµØÖ·ÏßA15~A11£¬Ê¹ÓÃ3£º8ÒëÂëÆ÷½øÐÐÈ«µØÖ·ÒëÂ룬Éú³ÉƬѡÐźÅ#Y0 ¡¢#Y1¡¢#Y4¡¢#Y5£¬ÎªËĸöоƬʹÓᣠC B A # Y A15 A14 A13 A12 A11

0 1 0 0 0 #Y0 0 1 0 0 1 #Y1 0 1 1 0 0 #Y4 0 1 1 0 1 #Y5

´æ´¢ÏµÍ³ÓëCPUÁ¬½ÓͼÈçÏÂͼËùʾ£º

¡¤24¡¤ ΢»úÔ­Àí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸

D0~D7 A0 A10 MEMR D0~D7 A0 A10 2716 WE A0 A10 D0~D7 ? ? ? MEMW D0~D7 A0 A10 MEMR MEMW A14 MEMW A15 ? ? OE R/WD0~D7 A0 A10 6116 OE ? CE 2716 OE CE WE CS D0~D7 A0 A10 6116 OE CS R/W? ? ? ? G 1 G 2A G 2B C B A 74LS138 Y0 Y1 Y4 Y5 A13 A12 A11

6. ÊÔÀûÓÃÈ«µØÖ·ÒëÂ뽫6264оƬ½Óµ½8088ϵͳ×ÜÏßÉÏ£¬Ê¹ÆäËùÕ¼µØÖ··¶Î§Îª32000H¡«

33FFFH¡£

´ð£º½«µØÖ··¶Î§Õ¹¿ª³É¶þ½øÖÆÐÎʽÈçÏÂͼËùʾ¡£

0011 0010 0000 0000 0000 0011 0011 1111 1111 1111

6264оƬµÄÈÝÁ¿Îª8K¡Á8£¬ÐèÒª13¸ùµØÖ·ÏßA0¡«A12¡£¶øÊ£Ïµĸß7λµØÖ·Ó¦²Î¼Ó¸ÃоƬµÄµØÖ·ÒëÂë¡£ µç·ÈçͼËùʾ£º