΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç ÏÂÔØ±¾ÎÄ

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

ϰÌâ1

1. ʲôÊÇ»ã±àÓïÑÔ£¬»ã±à³ÌÐò£¬ºÍ»úÆ÷ÓïÑÔ£¿

´ð£º»úÆ÷ÓïÑÔÊÇÓöþ½øÖÆ´úÂë±íʾµÄ¼ÆËã»úÄÜÖ±½Óʶ±ðºÍÖ´ÐеÄÒ»ÖÖ»úÆ÷Ö¸ÁîµÄ¼¯ºÏ¡£

»ã±àÓïÑÔÊÇÃæÏò¼°ÆäµÄ³ÌÐòÉè¼ÆÓïÑÔ¡£ÔÚ»ã±àÓïÑÔÖУ¬ÓÃÖú¼Ç·û´úÌæ²Ù×÷Â룬ÓõØÖ··ûºÅ»ò±êºÅ´úÌæµØÖ·Âë¡£ÕâÖÖÓ÷ûºÅ´úÌæ»úÆ÷ÓïÑԵĶþ½øÖÆÂ룬¾Í°Ñ»úÆ÷ÓïÑÔ±à³ÌÁË»ã±àÓïÑÔ¡£

ʹÓûã±àÓïÑÔ±àдµÄ³ÌÐò£¬»úÆ÷²»ÄÜÖ±½Óʶ±ð£¬ÒªÓÉÒ»ÖÖ³ÌÐò½«»ã±àÓïÑÔ·­Òë³É»úÆ÷ÓïÑÔ£¬ÕâÖÖÆð·­Òë×÷ÓõijÌÐò½Ð»ã±à³ÌÐò¡£

2. ΢ÐͼÆËã»úϵͳÓÐÄÄÐ©ÌØµã£¿¾ßÓÐÕâÐ©ÌØµãµÄ¸ù±¾Ô­ÒòÊÇʲô£¿

´ð£ºÎ¢ÐͼÆËã»úµÄÌØµã£º¹¦ÄÜÇ¿£¬¿É¿¿ÐԸߣ¬¼Û¸ñµÍÁ®£¬ÊÊÓ¦ÐÔÇ¿¡¢ÏµÍ³Éè¼ÆÁé»î£¬ÖÜÆÚ¶Ì¡¢¼ûЧ¿ì£¬Ìå»ýС¡¢ÖØÁ¿Çá¡¢ºÄµçÊ¡£¬Î¬»¤·½±ã¡£

ÕâÐ©ÌØµãÊÇÓÉÓÚ΢ÐͼÆËã»ú¹ã·º²ÉÓÃÁ˼¯³É¶ÈÏ൱¸ßµÄÆ÷¼þºÍ²¿¼þ£¬½¨Á¢ÔÚ΢ϸ¼Ó¹¤¹¤ÒÕ»ù´¡Ö®ÉÏ¡£

3. ΢ÐͼÆËã»úϵͳÓÉÄÄЩ¹¦Äܲ¿¼þ×é³É£¿ÊÔ˵Ã÷¡°´æ´¢³ÌÐò¿ØÖÆ¡±µÄ¸ÅÄî¡£ ´ð£ºÎ¢ÐͼÆËã»úϵͳµÄÓ²¼þÖ÷ÒªÓÉÔËËãÆ÷¡¢¿ØÖÆÆ÷¡¢´æ´¢Æ÷¡¢ÊäÈëÉ豸ºÍÊä³öÉ豸×é³É¡£

¡°´æ´¢³ÌÐò¿ØÖÆ¡±µÄ¸ÅÄî¿É¼òÒªµØ¸ÅÀ¨ÎªÒÔϼ¸µã£º

¢Ù ¼ÆËã»ú£¨Ö¸Ó²¼þ£©Ó¦ÓÉÔËËãÆ÷¡¢´æ´¢Æ÷¡¢¿ØÖÆÆ÷ºÍÊäÈë/Êä³öÉ豸Îå´ó»ù±¾²¿¼þ×é³É¡£

¢Ú ÔÚ¼ÆËã»úÄÚ²¿²ÉÓöþ½øÖÆÀ´±íʾ³ÌÐòºÍÊý¾Ý¡£

¢Û ½«±àºÃµÄ³ÌÐòºÍԭʼÊý¾ÝÊÂÏÈ´æÈë´æ´¢Æ÷ÖУ¬È»ºóÔÙÆô¶¯¼ÆËã»ú¹¤×÷£¬Ê¹¼ÆËã»úÔÚ²»ÐèÒªÈ˹¤¸ÉÔ¤µÄÇé¿öÏ£¬×Ô¶¯¡¢¸ßËٵĴӴ洢Æ÷ÖÐÈ¡³öÖ¸Áî¼ÓÒÔÖ´ÐУ¬Õâ¾ÍÊÇ´æ´¢³ÌÐòµÄ»ù±¾º¬Òå¡£

¢Ü Îå´ó²¿¼þÒÔÔËËãÆ÷ΪÖÐÐĽøÐÐ×éÖ¯¡£

4. Çë˵Ã÷΢ÐͼÆËã»úϵͳµÄ¹¤×÷¹ý³Ì¡£

´ð£ºÎ¢ÐͼÆËã»úµÄ»ù±¾¹¤×÷¹ý³ÌÊÇÖ´ÐгÌÐòµÄ¹ý³Ì£¬Ò²¾ÍÊÇCPU×Ô¶¯´Ó³ÌÐò´æ

1

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

·ÅµÄµÚ1¸ö´æ´¢µ¥ÔªÆð£¬Öð²½È¡³öÖ¸Áî¡¢·ÖÎöÖ¸Á²¢¸ù¾ÝÖ¸Áî¹æ¶¨µÄ²Ù×÷ÀàÐͺͲÙ×÷¶ÔÏó£¬Ö´ÐÐÖ¸Áî¹æ¶¨µÄÏà¹Ø²Ù×÷¡£Èç´ËÖØ¸´£¬Öܶø¸´Ê¼£¬Ö±ÖÁÖ´ÐÐÍê³ÌÐòµÄËùÓÐÖ¸Á´Ó¶øÊµÏÖ³ÌÐòµÄ»ù±¾¹¦ÄÜ¡£

5. ÊÔ˵Ã÷΢´¦ÀíÆ÷×Ö³¤µÄÒâÒå¡£

´ð£ºÎ¢ÐÍ»úµÄ×Ö³¤ÊÇÖ¸ÓÉ΢´¦ÀíÆ÷ÄÚ²¿Ò»´Î¿ÉÒÔ²¢Ðд¦Àí¶þ½øÖÆ´úÂëµÄλÊý¡£Ëü¾ö¶¨×żÆËã»úÄÚ²¿¼Ä´æÆ÷¡¢ALUºÍÊý¾Ý×ÜÏßµÄλÊý£¬·´Ó³ÁËһ̨¼ÆËã»úµÄ¼ÆË㾫¶È£¬Ö±½ÓÓ°Ïì×Å»úÆ÷µÄÓ²¼þ¹æÄ£ºÍÔì¼Û¡£¼ÆËã»úµÄ×Ö³¤Ô½´ó£¬ÆäÐÔÄÜÔ½ÓÅÔ½¡£ÔÚÍê³ÉͬÑù¾«¶ÈµÄÔËËãʱ£¬×Ö³¤½Ï³¤µÄ΢´¦ÀíÆ÷±È×Ö³¤½Ï¶ÌµÄ΢´¦ÀíÆ÷ÔËËãËٶȿ졣

6. ΢»úϵͳÖвÉÓõÄ×ÜÏ߽ṹÓм¸ÖÖÀàÐÍ£¿¸÷ÓÐÊ²Ã´ÌØµã£¿

´ð£ºÎ¢»úÖ÷°å³£ÓÃ×ÜÏßÓÐϵͳ×ÜÏß¡¢I/O×ÜÏß¡¢ISA×ÜÏß¡¢IPCI×ÜÏß¡¢AGP×ÜÏß¡¢IEEE1394×ÜÏß¡¢USB×ÜÏßµÈÀàÐÍ¡£

7. ½«ÏÂÁÐÊ®½øÖÆÊýת»»³É¶þ½øÖÆÊý¡¢°Ë½øÖÆÊý¡¢Ê®Áù½øÖÆÊý¡£ ¢Ù £¨4.75£©10=£¨0100.11£©2=£¨4.6£©8=£¨4.C£©16 ¢Ú £¨2.25£©10=£¨10.01£©2=£¨2.2£©8=£¨2.8£©16 ¢Û £¨1.875£©10=£¨1.111£©2=£¨1.7£©8=£¨1.E£©16

8. ½«ÏÂÁжþ½øÖÆÊýת»»³ÉÊ®½øÖÆÊý¡£ ¢Ù £¨1011.011£©2=£¨11.375£©10 ¢Ú £¨1101.01011£©2=£¨13.58£©10 ¢Û £¨111.001£©2=£¨7.2£©10

9. ½«ÏÂÁÐÊ®½øÖÆÊýת»»³É8421BCDÂë¡£ ¢Ù 2006=£¨0010 0000 0000 0110£©BCD

¢Ú 123.456=£¨0001 0010 0011.0100 0101 0110£©BCD

10. ÇóÏÂÁдø·ûºÅÊ®½øÖÆÊýµÄ8λ»ù2Âë²¹Âë¡£ ¢Ù [+127]²¹= 01111111

2

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

¢Ú [-1]²¹= 11111111 ¢Û [-128]²¹= 10000000 ¢Ü[+1]²¹= 00000001

11. ÇóÏÂÁдø·ûºÅÊ®½øÖÆÊýµÄ16λ»ù2Âë²¹Âë¡£ ¢Ù [+655]²¹= 0000001010001111 ¢Ú [-1]²¹=1111111111111111 ¢Û [-3212]²¹=1111001101110100 ¢Ü [+100]²¹=0000000001100100

3

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

ϰÌâ 2

1. 8086 CPUÔÚÄÚ²¿½á¹¹ÉÏÓÉÄ¿·Ö×é³É£¿¸÷²¿·ÖµÄ¹¦ÄÜÊÇʲô£¿

´ð£º8086 CPUÄÚ²¿ÓÉÁ½´ó¶ÀÁ¢¹¦Äܲ¿¼þ¹¹³É£¬·Ö±ðÊÇÖ´Ðв¿¼þºÍ×ÜÏß½Ó¿Ú²¿¼þ¡£Ö´Ðв¿¼þ¸ºÔð½øÐÐËùÓÐÖ¸ÁîµÄ½âÊͺÍÖ´ÐУ¬Í¬Ê±¹ÜÀíÓйصļĴæÆ÷¡£×ÜÏß½Ó¿Ú²¿¼þÊÇCPUÔÚ´æ´¢Æ÷ºÍI/OÉ豸֮¼äµÄ½Ó¿Ú²¿¼þ£¬¸ºÔð¶ÔÈ«²¿Òý½ÅµÄ²Ù×÷¡£

2. ¼òÊö8086 CPUµÄ¼Ä´æÆ÷×éÖ¯¡£

´ð£º8086 CPUÄÚ²¿¹²ÓÐ14¸ö16λ¼Ä´æÆ÷£¬°´ÓÃ;¿É·ÖΪÊý¾Ý¼Ä´æÆ÷£¬¶Î¼Ä´æÆ÷£¬µØÖ·Ö¸ÕëÓë±äÖ·¼Ä´æÆ÷ºÍ¿ØÖƼĴæÆ÷¡£Êý¾Ý¼Ä´æÆ÷°üÀ¨ÀÛ¼ÓÆ÷£¬»ùÖ·¼Ä´æÆ÷£¬¼ÆÊýÆ÷£¬ºÍÊý¾Ý¼Ä´æÆ÷¡£¶Î¼Ä´æÆ÷ÓÃÀ´´æ·Å¸÷·Ö¶ÎµÄÂß¼­¶Î»ùÖµ£¬²¢Ö¸Ê¾µ±Ç°ÕýÔÚʹÓõÄ4¸öÂß¼­¶Î¡£µØÖ·Ö¸ÕëÓë±äÖ·¼Ä´æÆ÷Ò»°ãÓÃÀ´´æ·ÅÖ÷´æµØÖ·µÄ¶ÎÄÚÆ«ÒƵØÖ·£¬ÓÃÓÚ²ÎÓëµØÖ·ÔËËã¡£ ¿ØÖƼĴæÆ÷°üÀ¨Ö¸Áî¼Ä´æÆ÷ºÍ±êʶ¼Ä´æÆ÷¡£

3. ÊÔÊö8086 CPU±êÖ¾¼Ä´æÆ÷¸÷λµÄº¬ÒåÓë×÷Óá£

´ð£º±êÖ¾¼Ä´æÆ÷ÊÇ16λµÄ¼Ä´æÆ÷£¬µ«Êµ¼ÊÉÏ8086Ö»Óõ½9룬ÆäÖеÄ6λÊÇ״̬±êʶ룬3λÊÇ¿ØÖƱêʶλ¡£×´Ì¬±ê־λ·Ö±ðÊÇCF£¬PF£¬AF£¬ZF£¬SF£¬ºÍOF£»¿ØÖƱê־λ°üÀ¨DF£¬IF£¬TF¡£

CF£º½øÎ»±ê־λ¡£ËãÊýÔËËãÖ¸ÁîÖ´Ðкó£¬ÈôÔËËã½á¹ûµÄ×î¸ßλ²úÉú½øÎ»»ò½è룬ÔòCF=1£¬·ñÔòCF=0¡£

PF£ºÆæÅ¼±ê־λ¡£·´Ó¦¼ÆËã½á¹ûÖÐ1µÄ¸öÊýÊÇżÊý»¹ÊÇÆæÊý¡£ÈôÔËËã½á¹ûµÄµÍ8λÖк¬ÓÐżÊý¸ö1£¬ÔòPF=1£»·ñÔòPF=0.

AF£º¸¨Öú½øÎ»±êÖ¾¡£ËãÊýÔËËãÖ¸ÁîÖ´Ðкó£¬ÈôÔËËã½á¹ûµÄµÍ4λÏò¸ß4λ²úÉú½øÎ»»ò½è룬ÔòAF=1£»·ñÔòAF=0.

ZF£ºÁã±ê־λ¡£ÈôÖ¸ÁîÔËËã½á¹ûΪ0£¬ÔòZF=1£»·ñÔòZF=0¡£ SF£º·ûºÅ±ê־λ¡£ËüÓëÔËËã½á¹û×î¸ßλÏàͬ¡£

OF£ºÒç³ö±ê־λ¡£µ±²¹ÂëÔËËãÓÐÒç³öʱ£¬OF=1£»·ñÔòOF=0¡£ DF£º·½Ïò±ê־λ¡£ÓÃÓÚ´®²Ù×÷Ö¸ÁָÁî×Ö·û´®´¦ÀíʱµÄ·½Ïò¡£ IF£ºÖжÏÔÊÐí±ê־λ¡£ÓÃÀ´¿ØÖÆ8086ÊÇ·ñÔÊÐí½ÓÊÕÍⲿÖжÏÇëÇó¡£

4

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

TF£ºµ¥²½±ê־λ¡£ËüÊÇΪµ÷ÊÔ³ÌÐò¶øÉ趨µÄÏÝÚå¿ØÖÆÎ»¡£

4. 8086 CPU״̬±êÖ¾ºÍ¿ØÖƱêÖ¾Óкβ»Í¬£¿³ÌÐòÖÐÊÇÔõÑùÀûÓÃÕâÁ½Àà±êʶµÄ£¿8086µÄ״̬±êÖ¾ºÍ¿ØÖƱêʶ·Ö±ðÓÐÄÄЩ£¿

´ð£º×´Ì¬±ê־λ·´Ó¦Á˵±Ç°ÔËËãºÍ²Ù×÷½á¹ûµÄ״̬Ìõ¼þ£¬¿É×÷Ϊ³ÌÐò¿ØÖÆ×ªÒÆÓë·ñµÄÒÀ¾Ý¡£ËüÃÇ·Ö±ðÊÇCF£¬PF£¬AF£¬ZF£¬SF£¬ºÍOF¡£¿ØÖƱê־λÓÃÀ´¿ØÖÆCPUµÄ²Ù×÷£¬ÓÉÖ¸Áî½øÐÐÖÃλºÍ¸´Î»£¬¿ØÖƱê־λ°üÀ¨DF£¬IF£¬TF¡£

5. ½«1001 1100ºÍ1110 0101Ïà¼Óºó£¬±êʶ¼Ä´æÆ÷ÖÐCF, PF, AF, ZF, SF, OF¸÷ΪºÎÖµ£¿

´ð£ºCF=1£¬PF=1£¬AF=1£¬ZF=0£¬SF=1£¬OF=0

6. ʲôÊÇ´æ´¢Æ÷µÄÎïÀíµØÖ·ºÍÂß¼­µØÖ·£¿ÔÚ8086ϵͳÖУ¬ÈçºÎÓÉÂß¼­µØÖ·¼ÆËãÎïÀíµØÖ·£¿

´ð£ºÂß¼­µØÖ·ÊÇ˼άÐԵıíʾ£¬ÓɶεØÖ·ºÍÆ«ÒÆµØÖ·ÁªºÏ±íʾµÄµØÖ·ÀàÐͽÐÂß¼­µØÖ·¡£ÎïÀíµØÖ·ÊÇÕæÊµ´æÔÚµÄΨһµØÖ·£¬Ö¸µÄÊÇ´æ´¢Æ÷Öи÷¸öµ¥ÔªµÄµ¥ÔªºÅ¡£

ÔÚ8086ϵͳÖУ¬ÎïÀíµØÖ·=¶ÎµØÖ·¡Á10H£«Æ«ÒƵØÖ·

7. ¶Î¼Ä´æÆ÷CS=1200H£¬Ö¸ÁîÖ¸Õë¼Ä´æÆ÷IP=4000H£¬´Ëʱ£¬Ö¸ÁîµÄÎïÀíµØÖ·Îª¶àÉÙ£¿Ö¸ÏòÕâÒ»µØÖ·µÄCSÖ¸ºÍIPÖµÊÇΨһµÄÂð£¿

´ð£º´ËÖ¸ÁîµÄÎïÀíµØÖ·=1200H¡Á10H£«4000H=16000H ²¢ÇÒÖ¸ÏòÕâÒ»ÎïÀíµØÖ·µÄCSÖµºÍIPÖµ²¢²»ÊÇΨһµÄ¡£

8. ÔÚ8086ϵͳÖУ¬Âß¼­µØÖ·FFFF£º0001£¬00A2£º37FºÍB800£º173FµÄÎïÀíµØÖ··Ö±ðÊǶàÉÙ£¿ ´ð£º

Âß¼­µØÖ· ÎïÀíµØÖ·

9. ÔÚ8086ϵͳÖУ¬´ÓÎïÀíµØÖ·388H¿ªÊ¼Ë³Ðò´æ·ÅÏÂÁÐ3¸öË«×Ö½ÚµÄÊý¾Ý

5

FFFF£º0001 FFFF1H 00A2£º3TF 00D9FH B800£º173F B973FH ΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

651AH£¬D761HºÍ007BH£¬ÇëÎÊÎïÀíµØÖ·388H£¬389H£¬38AH£¬38BH£¬38CHºÍ38DH 6¸öµ¥ÔªÖзֱðÊÇʲôÊý¾Ý£¿

´ð£º£¨388H£©=1AH£¬£¨389H£©=65H£¬£¨38AH£©=61H£¬£¨38BH£©=DTH£¬£¨38CH£©=7BH£¬£¨38DH£©=00H

10. 8086΢´¦ÀíÆ÷ÓÐÄļ¸ÖÖ¹¤×÷ģʽ£¿¸÷ÓÐÊ²Ã´ÌØµã£¿ ´ð£º8086΢´¦ÀíÆ÷ÓÐ×î´óºÍ×îС¹¤×÷ģʽ¡£

ÔÚ×îСģʽÏ£º8086 CPUÖ±½Ó²úÉúÈ«²¿×ÜÏß¿ØÖÆÐźţ¨DT/R£¬DEN£¬ALE£¬M/IO£©ºÍÃüÁîÊä³öÐźţ¨RD£¬WR£¬INTA£©²¢Ìá³öÇëÇó·ÃÎÊ×ÜÏßµÄÂß¼­ÐźÅHOLD£¬HLDA¡£

ÔÚ×î´ó¹¤×÷ģʽÏ£¬±ØÐëÅäÖÃ8288×ÜÏß¿ØÖÆÆ÷£¬²¢ÇÒ¸ù¾Ý8086ÌṩµÄ״̬ÐźÅS2£¬S1£¬S0£¬Êä³ö¶Áд¿ØÖÆÃüÁ¿ÉÒÔÌṩÁé»î¶à±äµÄϵͳÅäÖã¬ÒÔʵÏÖ×î¼ÑµÄϵͳÐÔÄÜ¡£

11. ¼òÊö8086Òý½ÅÐźÅÖÐM/IO£¬DT/R£¬RD£¬WR£¬ALE£¬DENºÍBHEµÄ×÷Óá£

´ð£ºM/IO£ºÊä³öÐźţ¬¸ßµçƽʱ£¬±íʾCPUÓë´æ´¢Æ÷Ö®¼äÊý¾Ý´«Ê䣻µÍµçƽʱ£¬±íʾCPUÓëI/OÉ豸֮¼äÊý¾Ý´«Êä¡£

DT/R£º¿ØÖÆÆäÊý¾Ý´«Êä·½ÏòµÄÐźš£DT/R=1ʱ£¬½øÐÐÊý¾Ý·¢ËÍ£»DT/R=0ʱ£¬½øÐÐÊý¾Ý½ÓÊÕ¡£

RD£ºCPUµÄ¶ÁÐźţ¬RD=0ʱ£¬±íʾ8086Ϊ´æ´¢¿Ú»òI/O¶Ë¿Ú¶Á²Ù×÷¡£ WR£ºCPUµÄдÐźţ¬WR =0ʱ£¬±íʾ8086Ϊ´æ´¢¿Ú»òI/O¶Ë¿Úд²Ù×÷¡£ ALE£ºµØÖ·´æËøÐźţ¬ÔÚT1ÄÜʱ¿ÌÓÐЧ¡£

DEN£ºÊý¾ÝѡͨÐźţ¬µ±DENÓÐЧʱ£¬±íʾÔÊÐí´«Êä¡£

BHE£ºÊý¾Ý×ÜÏßÔÊÐíÐźţ¬ÓëA0×éºÏʹÓ㬱íʾÊÇ·ñ·ÃÎÊÆæµØÖ·×Ö½Ú¡£

12. ¼òÊö8086¶Á×ÜÏßÖÜÆÚºÍд×ÜÏßÖÜÆÚºÍÒý½ÅÉϵÄÐźŶ¯¼â̬±ä»¯¹ý³Ì¡£8086µÄ¶ÁÖÜÆÚʱÐòºÍдÖÜÆÚʱÐòµÄÇø±ðÓÐÄÄЩ£¿ ´ð£ºÔÚ8086¶ÁÖÜÆÚÄÚ£¬ÓйØ×ÜÏßÐźŵı仯ÈçÏ£º

¢ÙM/IO£ºÔÚÕû¸ö¶ÁÖÜÆÚ±£³ÖÓÐЧ£¬µ±½øÐд洢Æ÷¶Á²Ù×÷ʱ£¬M/IOΪ¸ßµçƽ£»µ±½øÐÐI/O¶Ë¿Ú¶Á²Ù×÷ʱ£¬M/IOΪµÍµçƽ¡£

6

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

¢ÚA19/S6¡«A16/S3£ºÔÚT1ÆÚ¼ä£¬Êä³öCPUÒª¶ÁÈ¡µÄ´æ´¢µ¥Ôª»òI/O¶Ë¿ÚµÄµØÖ·¸ß4λ¡£T2¡«T4ÆÚ¼äÊä³ö״̬ÐÅÏ¢S6-S3¡£

¢ÛBHE/S7£ºÔÚT1ÆÚ¼ä£¬Êä³öBHEÓÐЧÐźÅ(BHEΪµÍµçƽ)£¬±íʾ¸ß8λÊý¾Ý×ÜÏßÉϵÄÐÅÏ¢¿ÉÒÔʹÓã¬BHEÐźÅͨ³£×÷ÎªÆæµØÖ·´æ´¢ÌåµÄÌåÑ¡ÐźÅ(żµØÖ·´æ´¢ÌåµÄÌåÑ¡ÐźÅÊÇ×îµÍµØÖ·Î»A0)¡£T2¡ªT4ÆÚ¼äÊä³ö¸ßµçƽ¡£

¢ÜADl5¡«AD0£ºÔÚT1ÆÚ¼ä£¬Êä³öCPUÒª¶ÁÈ¡µÄ´æ´¢µ¥Ôª»òI/O¶Ë¿ÚµÄµØÖ·A15¡«A0¡£T2ÆÚ¼äΪ¸ß×è̬£¬T3¡«T4ÆÚ¼ä£¬´æ´¢µ¥Ôª»òI/O¶Ë¿Ú½«Êý¾ÝËÍÉÏÊý¾Ý×ÜÏß¡£CPU´ÓADl5¡«AD0ÉϽÓÊÕÊý¾Ý¡£

¢ÝALE£ºÔÚT1ÆÚ¼äµØÖ·Ëø´æÓÐЧÐźţ¬ÎªÒ»ÕýÂö³å£¬ÏµÍ³ÖеĵØÖ·Ëø´æÆ÷ÕýÊÇÀûÓøÃÂö³åµÄϽµÑØÀ´Ëø´æA19/S6¡«A16/S3£¬ADl5¡«AD0ÖеÄ20λµØÖ·ÐÅÏ¢ÒÔ¼°BHE¡£

¢ÞRD£ºT2ÆÚ¼äÊä³öµÍµçƽË͵½±»Ñ¡ÖеĴ洢Æ÷»òI/O½Ó¿Ú£¬×¢Ò⣬ֻÓб»µØÖ·ÐźÅÑ¡ÖеĴ洢µ¥Ôª»òI/O¶Ë¿Ú£¬²Å»á±»RDÐźŴÓÖжÁ³öÊý¾Ý(Êý¾ÝËÍÉÏÊý¾Ý×ÜÏßADl5¡«AD0)¡£

¢ßDT/R£ºÔÚÕû¸ö×ÜÏßÖÜÆÚÄÚ±£³ÖµÍµçƽ£¬±íʾ±¾×ÜÏßÖÜÆÚΪ¶ÁÖÜÆÚ£¬ÔÚ½ÓÓÐÊý¾Ý×ÜÏßÊÕ·¢Æ÷µÄϵͳÖУ¬ÓÃÀ´¿ØÖÆÊý¾Ý´«Êä·½Ïò¡£

¢àDEN£ºÔÚT2¡«T3ÆÚ¼äÊä³öÓÐЧµÍµçƽ£¬±íʾÊý¾ÝÓÐЧ£¬ÔÚ½ÓÓÐÊý¾Ý×ÜÏßÊÕ·¢Æ÷µÄϵͳÖУ¬ÓÃÀ´ÊµÏÖÊý¾ÝµÄѡͨ¡£

×ÜÏßд²Ù×÷µÄʱÐòÓë¶Á²Ù×÷ʱÐòÏàËÆ£¬Æä²»Í¬´¦ÔÚÓÚ£º

¢ÙADl5¡«AD0£ºÔÚT2¡«T4ÆÚ¼äËÍÉÏÓûÊä³öµÄµÄÊý¾Ý£¬¶øÎÞ¸ß×è̬¡£

WRÒý½ÅÊä³öÓÐЧµÍµçƽ£¬¢ÚWR£º´ÓT2¡«T4£¬¸ÃÐźÅË͵½ËùÓеĴ洢Æ÷ºÍI/O

½Ó¿Ú¡£×¢Ò⣬ֻÓб»µØÖ·ÐźÅÑ¡ÖеĴ洢µ¥Ôª»òI/O¶Ë¿Ú²Å»á±»WRÐźÅдÈëÊý¾Ý¡£

¢ÛDT/R£ºÔÚÕû¸ö×ÜÏßÖÜÆÚÄÚ±£³Ö¸ßµçƽ£¬±íʾ±¾×ÜÏßÖÜÆÚΪдÖÜÆÚ£¬ÔÚ½ÓÓÐÊý¾Ý×ÜÏßÊÕ·¢Æ÷µÄϵͳÖУ¬ÓÃÀ´¿ØÖÆÊý¾Ý´«Êä·½Ïò¡£

7

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

ϰÌâ3

1. ¼Ù¶¨£¨DS£©=2000H£¬£¨ES£©=2100H£¬£¨SS£©=1500H£¬£¨SI£©=00A0H£¬£¨BX£©=0100H£¬£¨BP£©=0010H£¬Êý¾Ý±äÁ¿VALµÄÆ«ÒÆµØÖ·Îª0050H£¬ÇëÖ¸³öÏÂÁÐÖ¸ÁîÔ­²Ù×÷ÊýÊÇʲôѰַ·½Ê½£¬ÆäÎïÀíµØÖ·ÊǶàÉÙ£¿ (1) MOV AX, 0ABH (3) MOV AX, VAL

(2) MOV AX, [100H] (4) MOV BX, [SI] (6) MOV CL, [BX][SI] (8) MOV [BP][SI], 100

(5) MOV AL, VAL[BX] (7) MOV VAL[SI], BX

´ð£º(1) Á¢¼´ÊýѰַ£¬ÎÞÎïÀíµØÖ·

(2) Ö±½ÓѰַ£¬ÎïÀíµØÖ·=2000H¡Á10H+100H=20100H (3) Ö±½ÓѰַ£¬ÎïÀíµØÖ·=2000H¡Á10H+0050H=20050H (4) ¼Ä´æÆ÷¼ä½ÓѰַ£¬ÎïÀíµØÖ·=2000H¡Á10H+00A0=200A0H

(5) Ïà¶Ô¼Ä´æÆ÷Ѱַ£¬ÎïÀíµØÖ·=2000H¡Á10H+£¨0050+0100H£©=20150H (6) »ùÖ·¼Ó±äѰַ£¬ÎïÀíµØÖ·=2000H¡Á10H+£¨0100H+00A0H£©=201A0H (7) ¼Ä´æÆ÷Ѱַ£¬ÎÞÎïÀíµØÖ· (8) Á¢¼´ÊýѰַ£¬ÎÞÎïÀíµØÖ·

2. ÒÑÖª£¨SS£©=0FFA0H£¬£¨SP£©=00B0H£¬ÏÈÖ´ÐÐÁ½Ìõ°Ñ8057HºÍ0F79H·Ö±ð½øÕ»µÄPUSHÖ¸ÁÔÙÖ´ÐÐÒ»ÌõPOPÖ¸ÁÊÔ»­³ö¶ÑÕ»ÇøºÍSPÄÚÈݱ仯µÄ¹ý³ÌʾÒâͼ¡£ ´ð£º

¡°8057H¡±½øÕ»£¬ÔòSP×Ô¶¯´Ó00B0HÖ¸Ïò00B2H£¬¡°0F79H¡±½øÕ»£¬ÔòSP×Ô¶¯´Ó00B2HÖ¸Ïò00B4H£»Ö´ÐÐÒ»ÌõPOPÖ¸Á¡°0F79H¡±±»µ¯³öÕ»£¬SP´Ó00B4HÖ¸Ïò00B2H¡£Í¼ÂÔ¡£

3. ÉèÓйؼĴæÆ÷¼°´æ´¢µ¥ÔªµÄÄÚÈÝÈçÏ£º

(DS)=2000H, (BX)=0100H, (AX)=1200H, (SI)=0002H, (20100H)=12H, (20101H)=34H,

(20102H)=56H,

(20103H)=78H,

(21200H)=2AH,

(21201H)=4CH, (21202H)=0B7H, (21203H)=65H.

ÊÔ˵Ã÷ÏÂÁи÷ÌõÖ¸Áîµ¥¶ÀÖ´ÐкóÏà¹Ø¼Ä´æÆ÷»ò´æ´¢µ¥ÔªµÄÄÚÈÝ¡£

8

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

(1) MOV AX, 1800H (2) MOV AX, BX

(3) MOV BX, [1200H] (4) MOV DX, 1100[BX] (5) MOV [BX][SI], AL (6) MOV AX, 1100[BX][SI] ´ð£º(1) (AX)=1800H (2) (AX)=0100H (3) (BX)=4C2AH

(4) (DX)=4C2AH (5) (20102H)=00H (6) (AX)=65B7H

4. д³öʵÏÖÏÂÁмÆËãµÄÖ¸ÁîÐòÁС£

(1) Z=W+(X+Z) (2) Z=W-(X+6)-(R+9) ´ð£º(1)

MOV AX, Z

ADD AX, X ADD AX, W MOV Z, AX (2) MOV AX, W ADD X, 6 SUB AX, X ADD R, 9 SUB AX, R MOV Z, AX

5. ÈôÔÚÊý¾Ý¶ÎÖдÓ×Ö½Ú±äÁ¿TABLEÏàÓ¦µÄµ¥Ôª¿ªÊ¼´æ·ÅÁË0~15µÄƽ·½Öµ£¬

ÊÔд³ö°üº¬XLATÖ¸ÁîµÄÖ¸ÁîÐòÁвéÕÒN£¨0~15£©ÖеÄij¸öƽ·½Êý¡£ ´ð£ºLEA BX, TABLE MOV AL, CL XLAT

6. д³öʵÏÖÏÂÁмÆËãµÄÖ¸ÁîÐòÁС£

(1) Z=(W*X)/(R+6) (2) Z=((W-X)/5*Y)*2 ´ð£º(1) MOV AX, W IMUL X ADD R, 6 IDIV R

9

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

MOV Z, AX (2) MOV AX, W SUB AX, X MOV BL, 5 IDIV BL CBW IMUL Y MOV BX, 2 IMUL BX MOV Z, AX

7. ¼Ù¶¨(DX)=1100 1001 1011 1001B,CL=3£¬CF=1, ÊÔÈ·¶¨ÏÂÁи÷ÌõÖ¸Áîµ¥¶ÀÖ´ÐкóDXµÄÖµ¡£

(1) SHR DX, 1

(2) SHL DL, 1

(3) SAL DH, 1 (4) SAR DX, CL

(5) ROR DX, CL (6) ROL DL, CL (7) RCR DL, 1 (8) RCL DX, CL ´ð£º(1) (DX)=0110 0100 1101 1100B (2) (DX)=1100 1001 0111 0010B

(3) (DX)=1001 0010 1011 1001B (4) (DX)= 1111 1001 0011 0111B (5) (DX)= 0011 1001 0011 0111B (6)(DX)= 0100 1101 1100 1110B (7) (DX)= 1110 0100 1101 1100B (8) (DX)= 1001 0011 0111 0011B

8. ÒÑÖª³ÌÐò¶ÎÈçÏ£º

MOV AX, 1234H MOV CL, 4 ROL AX, CL DEC AX MOV CX, 4 MUL CX INT 20H

ÊÔÎÊ£º£¨1£©Ã¿ÌõÖ¸ÁîÖ´Ðкó£¬AX¼Ä´æÆ÷µÄÄÚÈÝÊÇʲô£¿£¨2£©Ã¿ÌõÖ¸ÁîÖ´Ðкó£¬CF£¬SF¼°ZFµÄÖµ·Ö±ðÊÇʲô£¿£¨3£©³ÌÐòÔËÐнáÊøºó£¬AX¼°DX¼Ä´æÆ÷µÄֵΪ¶àÉÙ£¿

10

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

´ð£ºMOV AX, 1234H (AX)=1234H, CF=0£¬SF=0£¬ZF=0 MOV CL, 4

ROL AX,CL (AX)=2341H,CF=1£¬SF=0£¬ZF=0 DEC AX (AX)=2340H,CF=1£¬SF=0£¬ZF=0 MOV CX,4

MULL CX (AX)=8D00H, CF=0£¬SF=1£¬ZF=0

INT 20H

½áÊøºó£¬(DX)=0000H, (AX)=8000H

9. ÊÔ·ÖÎöÏÂÁгÌÐò¶Î£º

ADD AX, BX JNC L2 SUB AX, BX JNC L3 JMP SHORTL5

Èç¹ûAX£¬BXµÄÄÚÈݸø¶¨ÈçÏ£º

AX BX (1) 14C6H 80DCH (2) B568H 54B7H

ÎʸóÌÐòÔÚÉÏÊöÇé¿öÏÂÖ´Ðк󣬳ÌÐòתÏòºÎ´¦¡£ ´ð£º£¨1£©×ªµ½L2´¦ £¨2£©×ªµ½L3´¦

11

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

ϰÌâ4

1£®ÏÂÁÐÓï¾äÔÚ´æ´¢Æ÷ÖзֱðΪ±äÁ¿·ÖÅä¶àÉÙ×ֽڿռ䣿²¢»­³ö´æ´¢¿Õ¼äµÄ·ÖÅäͼ¡£

VAR1 DB 10£¬2

VAR2 DW 5 DUP£¨£¿£©£¬0

VAR3 DB ¡®HOW ARE YOU£¿¡¯£¬3 DUP£¨1£¬2£© VAR4 DD -1£¬1£¬0 ´ð£º×ֽڿռ䣺

VAR1£º2£» VAR2£º12£» VAR3£º13£» VAR4£º8¡£ ´æ´¢¿Õ¼äµÄ·ÖÅäͼ£º

2£®¼Ù¶¨VAR1 ºÍVAR2 Ϊ×Ö±äÁ¿£¬LAB Ϊ±êºÅ£¬ÊÔÖ¸³öÏÂÁÐÖ¸ÁîµÄ´íÎóÖ®´¦¡£ £¨1£©ADD VAR1£¬VAR2 £¨3£©JMP LAB[CX]

£¨2£©SUB AL£¬VAR1 £¨4£©JNZ VAR1 £¨6£©SHL AL£¬ 4

£¨5£© MOV [1000H]£¬100

´ð£º(1) ÔÚËãÊõÔËËãÖ¸ÁîÖУ¬Á½¸ö²Ù×÷Êý²»ÄÜͬʱΪ´æ´¢Æ÷Ѱַ·½Ê½ (2) AL Ϊ×Ö½Ú£¬VAR1 Ϊ×Ö±äÁ¿£¬×Ö³¤²»ÏàµÈ£»

(3) ´íÎó1£º¼Ä´æÆ÷Ïà¶ÔѰַ·½Ê½£¬Ö»ÄÜʹÓûùÖ·»ò±äÖ·¼Ä´æÆ÷£¬²»ÄÜʹÓÃCX¼Ä´æÆ÷¡£

´íÎó2£º»ã±à¸ñʽ´íÎó£¬ÎÞ·¨ÅжÎÊǶÎÄÚ×ªÒÆ»¹ÊǶμä×ªÒÆ¡£ (4) תÏòµØÖ·Ó¦Îª±êºÅ£¬²»ÄÜÊDZäÁ¿£» (5) Ä¿µÄ²Ù×÷ÊýµÄÀàÐͲ»È·¶¨£»

12

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

(6) SHL Ö¸ÁîÖУ¬µ±ËùÒÆÎ»Êý³¬¹ý1 ʱ£¬±ØÐëÓÃCLÈ¡´úËùÒÆÎ»Êý¡£

3£®¶ÔÓÚÏÂÃæµÄ·ûºÅ¶¨Ò壬ָ³öÏÂÁÐÖ¸ÁîµÄ´íÎó¡£

A1 DB £¿ A2 DB 10 K1 EQU 1024

£¨1£© MOV K1£¬AX £¨2£©MOV A1£¬AX £¨3£©CMP A1£¬A2 £¨4£©K1 EQU 2048 ´ð£º(1)K1 Ϊ³£Á¿£¬²»ÄÜÓÃMOV Ö¸Áֵ£» (2)A1 Ϊ×Ö½Ú£¬AX Ϊ×Ö±äÁ¿£¬ÀàÐͲ»Ò»Ö£» (3)A1 ºÍA2ͬΪ´æ´¢Æ÷Ѱַ·½Ê½£¬²»·ûºÏÓï·¨¹æÔò£» (4)K1 ÖØÐ¸³ÖµÇ°£¬±ØÐëÓÃPURGE ÊÍ·Å¡£

4£®Êý¾Ý¶¨ÒåÓï¾äÈçÏÂËùʾ: FIRST DB 90H£¬5FH£¬6EH£¬69H SECOND DB 5 DUP(?) THIRD DB 5 DUP(?) FORTH DB 4 DUP (?)

×ÔFIRST µ¥Ôª¿ªÊ¼´æ·ÅµÄÊÇÒ»¸öËÄ×Ö½ÚµÄÊ®Áù½øÖÆÊý(µÍλ×Ö½ÚÔÚǰ),ÒªÇó: ±àÒ»¶Î³ÌÐò½«Õâ¸öÊý×óÒÆÁ½Î»ºó´æ·Åµ½×ÔSECOND ¿ªÊ¼µÄµ¥Ôª,ÓÒÒÆÁ½Î»ºó´æ·Åµ½×ÔTHIRD ¿ªÊ¼µÄµ¥Ôª,Ç󲹺ó·Åµ½FORTH¿ªÊ¼µÄµ¥Ôª¡£(×¢Òâ±£ÁôÒÆ³ö²¿·Ö) ´ð£º

DATA SEGMENT

FIRST DB 90H£¬5FH£¬6EH£¬69H SECOND DB 5 DUP(?) THIRD DB 5 DUP(?) FORTH DB 4 DUP (?) DATA ENDS

CODE SEGMENT

13

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

ASSUME CS£ºCODE£¬DS£ºDATA START£ºMOV AX£¬DATA

MOV DS£¬AX LEA SI£¬FIRST LEA DI£¬SECOND MOV CX£¬2 CLC

£»×óÒÆ2 λ

MOV AX£¬WORD PTR [SI] £»AX=5F90H ΪµÍÊ®ÁùλÊý¾Ý INC SI INC SI

MOV DX£¬WORD PTR [SI] £»DX=696EH Ϊ¸ßÊ®ÁùλÊý¾Ý PUSH DX £»±£´æÔ­ÓеĸßÊ®ÁùλÊý¾Ý PUSH AX £»±£´æÔ­ÓеĵÍÊ®ÁùλÊý¾Ý ROL DX£¬CL

£»½«¸ßλÊý¾Ý²»´ø½øÎ»Ñ­»·×óÒÆÁ½Î»£¬¼´¸ß2 λÊý¾ÝÔÚDL µÄµÍ

2 λ

AND DL£¬03H £»ÈÃDL Öнö±£´æÒƳöµÄ¸ß2 λÊý¾Ý MOV [DI+4] £¬DL£»½«ÒƳöµÄ¸ß2 λÊý¾Ý·ÅÈëSECOND ÖеÄ×î¸ßµ¥ÔªÖÐ ROL AX£¬CL

£»½«µÍλÊý¾Ý²»´ø½øÎ»Ñ­»·×óÒÆÁ½Î»£¬¼´AX µÄ¸ß2 λÔÚAL µÄ

µÍ2 λ

AND AL£¬03H£»ÈÃAL Öнö±£´æÒƳöµÄAX ¸ß2 λÊý¾Ý MOV BL £¬AL£»½«AL ÖеÄÊý¾Ý·ÅÈëBL Öб£´æ POP AX£»µ¯³öÔ­ÓеĵÍÊ®ÁùλÊý¾Ý POP DX£»µ¯³öÔ­ÓеĸßÊ®ÁùλÊý¾Ý

SHL DX£¬CL£»½«¸ßλÊý¾ÝËãÊõÂß¼­×óÒÆ2 λ SHL AX£¬CL£»½«µÍλÊý¾ÝËãÊõÂß¼­×óÒÆ2 λ

OR DL£¬BL£»½«AX ÖÐÒÆ³öµÄ¸ß2 λÊý¾Ý·ÅÈëDX µÄµÍ2 λ MOV WORD PTR [DI] £¬AX MOV WORD PTR [DI+2] £¬DX

14

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

£»ÓÒÒÆ2 λ

LEA SI£¬FIRST LEA DI£¬THIRD MOV CX£¬2 CLC

MOV AX£¬WORD PTR [SI] £»AX=5F90H ΪµÍÊ®ÁùλÊý¾Ý INC SI INC SI

MOV DX£¬WORD PTR [SI] £» DX=696EH Ϊ¸ßÊ®ÁùλÊý¾Ý PUSH DX£»±£´æÔ­ÓеĸßÊ®ÁùλÊý¾Ý PUSH AX£»±£´æÔ­ÓеĵÍÊ®ÁùλÊý¾Ý

ROR AX£¬CL£»½«µÍλÊý¾Ý²»´ø½øÎ»Ñ­»·ÓÒÒÆÁ½Î»£¬¼´µÍ2 λÊý¾ÝÔÚAH µÄ¸ß2 λ

AND AH£¬0C0H£»ÈÃAH Öнö±£´æÒƳöµÄµÍ2 λÊý¾Ý PUSH CX MOV CX£¬6 SHR AH£¬CL POP CX

MOV [DI] £¬AH £»½«ÒƳöµÄµÍ2 λÊý¾Ý·ÅÈëTHIRD ÖеÄ×îµÍµ¥ÔªÖÐ ROR DX£¬ CL

£»½«µÍλÊý¾Ý²»´ø½øÎ»Ñ­»·×óÒÆÁ½Î»£¬¼´AX µÄ¸ß2 λÔÚAL µÄ

µÍ2 λ

AND DH£¬0C0H £»ÈÃDH Öнö±£´æÒƳöµÄDX µÍ2 λÊý¾Ý MOV BL £¬DH £»½«DH ÖеÄÊý¾Ý·ÅÈëBL Öб£´æ POP AX £»µ¯³öÔ­ÓеĵÍÊ®ÁùλÊý¾Ý POP DX £»µ¯³öÔ­ÓеĸßÊ®ÁùλÊý¾Ý SHR DX£¬CL £»½«¸ßλÊý¾ÝËãÊõÂß¼­×óÒÆ2 λ SHR AX£¬CL £»½«µÍλÊý¾ÝËãÊõÂß¼­×óÒÆ2 λ

OR AH£¬BL £»½«DX ÖÐÒÆ³öµÄµÍ2 λÊý¾Ý·ÅÈëAX µÄ¸ß2 λ MOV WORD PTR [DI+1] £¬ AX MOV WORD PTR [DI+3] £¬DX

15

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

£»Çó²¹ LEA SI£¬FIRST LEA DI£¬FORTH

MOV AX£¬WORD PTR [SI] £»AX=5F90H ΪµÍÊ®ÁùλÊý¾Ý INC SI INC SI

MOV DX£¬WORD PTR [SI] £» DX=696EH Ϊ¸ßÊ®ÁùλÊý¾Ý XOR AX£¬ 0FFFFH £»½«µÍÊ®Áùλȡ·´ XOR DX£¬ OFFFFH £»½«¸ßÊ®Áùλ°´Î»È¡·´ CLC

ADD AX£¬01H £»µÍλ¼Ó1£¬¼´¿ÉΪԭÊýµÄÇó²¹ ADC DX£¬0 £»¸ßλ¼ÓµÍλ¼Ó·¨Ê±µÄ½øÎ» MOV WORD PTR [DI] £¬ AX MOV WORD PTR [DI+2] £¬DX MOV AH£¬4CH INT 21H

CODE ENDS

END START

5. ÊÔ±à³ÌÐò½«ÄÚ´æ´Ó40000Hµ½4BFFFHµÄÿ¸öµ¥ÔªÖоùдÈë55H£¬²¢ÔÙÖð¸öµ¥Ôª¶Á³ö±È½Ï£¬¿´Ð´ÈëµÄÓë¶Á³öµÄÊÇ·ñÒ»Ö¡£ÈôÈ«¶Ô£¬Ôò½«ALÖÃ7EH; Ö»ÒªÓÐ´í£¬Ôò½«ALÖÃ81H¡£ ´ð£º

DATA SEGMENT DA1 DB 55H CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,4000H MOV DS,AX MOV CX,0C000H MOV BX,0000H

16

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

MOV AH,55H NEXT1: MOV byte ptr[BX],AH INC BX LOOP NEXT1

MOV BX,0000H MOV CX,0C000H MOV AL,81H NEXT2: MOV AH, [BX] CMP AH,55H JNZ EXIT INC BX LOOP NEXT2 MOV AL,7EH EXIT: MOV AH,4CH INT 21H CODE ENDS END START

6. ÔÚµ±Ç°Êý¾Ý¶Î4000H¿ªÊ¼µÄ128¸öµ¥ÔªÖдæ·ÅÒ»×éÊý¾Ý£¬ÊÔ±à³ÌÐò½«ËüÃÇ˳Ðò°áÒÆµ½A000H¿ªÊ¼µÄ˳Ðò128¸öµ¥ÔªÖУ¬²¢½«Á½¸öÊý¾Ý¿éÖð¸öµ¥Ôª½øÐбȽÏ; ÈôÓÐ´í½«BLÖÃ00H; È«¶ÔÔò½«BLÖÃFFH£¬ÊÔ±à³ÌÐò¡£ ´ð£º

DATA SEGMENT ORG 400H

DA1 DB 128 DUP(?) ORG 0A00H

DA2 DB 128 DUP(?) DATA ENDS CODE SEGMENT

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

17

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

LEA SI,DA1 LEA DI,DA2 MOV CX,128 AGAIN: MOV AL,[SI] INC SI INC DI LOOP AGAIN LEA SI, DA1 LEA DI, DA2 MOV CX,128 NEXT: MOV AL,[SI] MOV BL,[DI] CMP AL,BL JNZ ERROR INC SI INC DI MOV BL,0FFH LOOP NEXT JMP EXIT ERROR: MOV BL,00H EXIT: MOV AH,4CH INT 21H CODE ENDS END START

7. Éè±äÁ¿µ¥ÔªA¡¢B¡¢C´æ·ÅÓÐ3¸öÊý£¬Èô3¸öÊý¶¼²»ÎªÁ㣬ÔòÇó3¸öÊýµÄºÍ£¬´æ·ÅÔÚDÖÐ; ÈôÓÐÒ»¸öΪÁ㣬Ôò½«ÆäÓàÁ½¸öÒ²ÇåÁ㣬ÊÔ±àд³ÌÐò¡£ ´ð£º

DATA SEGMENT A DB ? B DB ?

18

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

C DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX CMP A,00H JNZ LP1 MOV B,0 MOV C,0 JMP LP4 LP1: CMP B,00H JNZ LP2 MOV A,0 MOV C,0 JMP LP4 LP2: CMP C,00H JNZ LP3 MOV A,0 MOV B,0 JMP LP4 LP3: MOV AL,A ADD AL,B ADD AL,C MOV AH,4CH LP4: INT 21H CODE ENDS END START

8. ÓÐÒ»¸ö100¸ö×Ö½ÚµÄÊý¾Ý±í£¬±íÄÚÔªËØÒѰ´´Ó´óµ½Ð¡µÄ˳ÐòÅÅÁкã¬ÏÖ¸ø¶¨Ò»ÔªËØ£¬ÊÔ±à³ÌÐòÔÚ±íÄÚ²éÕÒ£¬Èô±íÄÚÒÑÓдËÔªËØ£¬Ôò½áÊø; ·ñÔò£¬°´Ë³Ðò½«´ËÔªËØ²åÈë±íÖÐÊʵ±µÄλÖ㬲¢ÐÞ¸Ä±í³¤¡£

19

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

´ð£º

DATA SEGMENT

BUFF DB 100 DUP(?) DA1 DB (?) LENGTH DB 0 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,0 MOV AL,DA1 MOV CX,100 FIND0: CMP BUFF[SI],AL JZ EXIT INC SI LOOP FIND0 MOV DI,99 MOV SI,0

COMPARE: CMP BUFF[DI],AL JG INSERT MOV BL,BUFF[DI] MOV BUFF[DI+1],BL DEC DI CMP DI,SI JNL COMPARE JMP EXIT INSERT:

MOV BUFF[DI+1],AL MOV LENGTH , 101

EXIT: MOV AH,4CH

INT 21H

20

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

CODE ENDS END START

9. ÄÚ´æÖÐÒÔFIRSTºÍSECOND¿ªÊ¼µÄµ¥ÔªÖÐ·Ö±ð´æ·Å×ÅÁ½¸ö16λ×éºÏµÄÊ®½øÖÆ(BCDÂë)Êý,µÍλÔÚǰ¡£±à³ÌÐòÇóÕâÁ½¸öÊýµÄ×éºÏµÄÊ®½øÖƺÍ,²¢´æµ½ÒÔTHIRD¿ªÊ¼µÄµ¥Ôª¡£ ´ð£º

DATA SEGMENT

FIRST DD 34341212H SECOND DD 78785656H THIRD DB ?,?,?,?

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA

MOV DS,AX LEA SI,FIRST LEA DI,SECOND LEA BX,THIRD MOV CX,4 CLC AGAIN:

MOV AL,BYTE PTR[SI]

MOV DL,BYTE PTR[DI] ADC AL,DL DAA

MOV BYTE PTR[BX],AL INC SI INC DI INC BX

LOOP AGAIN

JC AA

21

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

MOV BYTE PTR[BX],0 JMP EXIT AA: EXIT:

MOV BYTE PTR[BX],1 MOV AH,4CH INT 21H

CODE ENDS END START

10. ±àдһ¶Î³ÌÐò£¬½ÓÊÕ´Ó¼üÅÌÊäÈëµÄ10¸öÊý£¬ÊäÈë»Ø³µ·û±íʾ½áÊø£¬È»ºó½«ÕâЩÊý¼ÓÃܺó´æÓÚBUFF»º³åÇøÖС£¼ÓÃܱíÈçÏÂ:

ÊäÈëÊý×Ö: 0£¬1£¬2£¬3£¬4£¬5£¬6£¬7£¬8£¬9; ÃÜÂëÊý×Ö: 7£¬5£¬9£¬1£¬3£¬6£¬8£¬0£¬2£¬4¡£ ´ð£º

DATA SEGMENT

MITAB DB '7591368024' CONT EQU $-MITAB BUFF DB 10 DUP (?)£¬'$' YUANWEN DB 10 DUP (?)£¬'$' DATA ENDS

CODE SEGMENT

ASSUME CS¡ÃCODE£¬DS¡ÃDATA START£º MOV AX£¬DATA MOV DS£¬AX MOV SI£¬0 MOV CX£¬CONT INPUT: MOV

AH£¬1

INT 21H CMP AL£¬13 JZ EXIT

AND AL£¬0FH

MOV YUANWEN[SI] £¬AL

22

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

INC SI LOOP INPUT

EXIT : LEA BX£¬MITAB MOV CX£¬SI MOV SI£¬0

JIAMI: MOV AL£¬YUANWEN[SI] XLAT MITAB

MOV BUFF[SI]£¬AL INC SI LOOP JIAMI

MOV AH, 4CH INT 21H

CODE ENDS

END START

11.ÊÔ±à³ÌÐò£¬Í³¼ÆÓÉ40000H¿ªÊ¼µÄ16K¸öµ¥ÔªÖÐËù´æ·ÅµÄ×Ö·û¡°A¡±µÄ¸öÊý£¬²¢½«½á¹û´æ·ÅÔÚDXÖС£ ´ð£º

DATA SEGMENT

DA1 DB 'A'

BUFF DB 4000H DUP(?)

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,4000H MOV DS,AX MOV BX,0 MOV CX,4000H

FIND: MOV AL,[BX] MOV BL,DA1

23

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

CMP AL,BL JNZ NEXT INC DX NEXT:

INC SI

LOOP FIND MOV AH,4CH INT 21H CODE ENDS END START

12. ÔÚµ±Ç°Êý¾Ý¶Î(DS)£¬Æ«ÒƵØÖ·ÎªDATAB¿ªÊ¼µÄ˳Ðò80¸öµ¥ÔªÖУ¬´æ·Å×Åij°à80¸öͬѧijÃÅ¿¼ÊԳɼ¨¡£°´ÈçÏÂÒªÇó±àд³ÌÐò:

(1) ±àд³ÌÐòͳ¼Æ¡Ý90·Ö; 80·Ö¡«89·Ö; 70·Ö¡«79·Ö; 60·Ö¡«69·Ö£¬£¼60·ÖµÄÈËÊý¸÷Ϊ¶àÉÙ£¬²¢½«½á¹û·ÅÔÚͬһÊý¾Ý¶Î¡¢Æ«ÒƵØÖ·ÎªBTRX¿ªÊ¼µÄ˳Ðòµ¥ÔªÖС£

(2) ÊÔ±à³ÌÐò£¬Çó¸Ã°àÕâÃÅ¿ÎµÄÆ½¾ù³É¼¨Îª¶àÉÙ£¬²¢·ÅÔÚ¸ÃÊý¾Ý¶ÎµÄAVERµ¥ÔªÖС£ ´ð£º

DATA SEGMENT

BUFF DW 80 DUP(?) DA9 DB 0 DA8 DB 0 DA7 DB 0 DA6 DB 0 DA5 DB 0 AVER DB 0 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:

MOV AX,DATA MOV DS,AX

24

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

MOV CX,80

COMPARE: MOV BX,0

CMP BUFF[BX],90 JB LP8 INC DA9 JMP NEXT LP8: LP7: LP6: LP5: NEXT: SUM: CMP BUFF[BX],80 JB LP7 INC DA8 JMP NEXT CMP BUFF[BX],70 JB LP6 INC DA7 JMP NEXT CMP BUFF[BX],60 JB LP5 INC DA6 JMP NEXT INC DA5 JMP NEXT INC BX

LOOP COMPARE MOV CX,80 XOR AX,AX MOV BX,00

ADD AX,BUFF[BX] INC BX LOOP LP1 MOV CL,80 DIV CL

MOV AVER , AL

25

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

MOV AH,4CH INT 21H CODE ENDS END START

13. ±àдһ¸ö×Ó³ÌÐò£¬¶ÔALÖеÄÊý¾Ý½øÐÐżУÑ飬²¢½«¾­¹ýУÑéµÄ½á¹û·Å»ØALÖС£ ´ð£º

JIOU PROC

PUSH CX PUSH BX XOR AH, AH PUSH AX MOV CL, 7

LOOP1: SAR AL, 1

ADC AH, 0 LOOP LOOP1 MOV AL, AH XOR AH, AH MOV BL, 2 DIV BL MOV BL, AH POP AX ROR BL, 1 OR AL, BL POP BX POP CX RET

JIOU ENDP

14. ÀûÓÃÉÏÌâµÄ×Ó³ÌÐò£¬¶Ô80000H¿ªÊ¼µÄ256¸öµ¥ÔªµÄÊý¾Ý¼ÓÉÏżУÑ飬ÊÔ±à

26

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

³ÌÐò¡£

CODE SEGMENT

ASSUME CS: CODE START : MOV AX, 8000H MOV DS, AX MOV SI, 0 MOV CX, 256 LP: MOV AL, [SI] CALL JIOU MOV [SI], AL INC SI LOOP LP MOV AH, 4CH INT 21H JIOU PROC

PUSH CX PUSH BX XOR AH, AH PUSH AX MOV CL, 7

LOOP1: SAR AL, 1

ADC AH, 0 LOOP LOOP1 MOV AL, AH XOR AH, AH MOV BL, 2 DIV BL MOV BL, AH POP AX ROR BL, 1 OR AL, BL

27

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

POP BX POP CX RET JIOU ENDP CODE ENDS END START

28

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

ϰÌâ5

1. ÊÔÊöDRAMµÄ¹¤×÷ÌØµã£»ÓëSRAMÏà±ÈÓÐʲô³¤´¦ºÍ²»×ãÖ®´¦£»ËµÃ÷ËüµÄʹÓó¡ºÏ¡£

´ð£ºDRAM£¬¶¯Ì¬Ëæ»ú´æÈ¡´æ´¢Æ÷£¬ÐèÒª²»¶ÏµÄˢУ¬²ÅÄܱ£´æÊý¾Ý¡£ ¶øÇÒÊÇÐÐÁеØÖ·¸´Óõģ¬Ðí¶à¶¼ÓÐҳģʽ¡£ SRAM£¬¾²Ì¬µÄËæ»ú´æÈ¡´æ´¢Æ÷£¬¼ÓµçÇé¿öÏ£¬²»ÐèҪˢУ¬Êý¾Ý²»»á¶ªÊ§£¬¶øÇÒÒ»°ã²»ÊÇÐÐÁеØÖ·¸´Óõġ£ ÓëSRAMÏà±È£¬DRAM¼Û¸ñ±ãÒË¡¢ËÙ¶ÈÂý¡¢ÈÝÁ¿´ó£¬Ö÷ÒªÓÃÀ´×öÖ÷´æ´¢Æ÷£¬´æ´¢³ÌÐòºÍÊý¾Ý£»¶øSRAMÖ÷ÒªÓÃÔÚCacheµÈ¶ÔËÙ¶ÈÒªÇó¸ßµÄÇé¿ö¡£

2. ÊÔÊöDRAMˢйý³ÌºÍÕý³£¶Á/д¹ý³ÌµÄÇø±ð¡£

´ð£ºË¢ÐÂÊÇÒÔÐÐΪµ¥Î»½øÐУ¬ÇÒˢйý³ÌÖв»ÄܽøÐжÁд²Ù×÷¡£

3. ÉèÓÐÒ»¸ö¾ßÓÐ20λµØÖ·ºÍ32λ×Ö³¤µÄ´æ´¢Æ÷£¬ÎÊ£º £¨1£© ¸Ã´æ´¢Æ÷ÄÜ´æ´¢¶àÉÙ¸ö×Ö½ÚµÄÐÅÏ¢£¿

£¨2£© Èç¹û´æ´¢Æ÷ÓÉ512K*8λSRAMоƬ×é³É£¬ÐèÒª¶àÉÙÆ¬£¿ £¨3£© ÐèÒª¶àÉÙλ×÷оƬѡÔñ£¿ ´ð£º(1)¸Ã´æ´¢Æ÷ÄÜ´æ´¢4MBµÄÐÅÏ¢¡£ (2) ÐèÒª8Ƭ512K*8λµÄоƬ¡£ (3) ÐèÒª1λ×öоƬѡÔñ¡£

4. ¶ÔÓÚ8K¡Á8λRAM×é³ÉµÄ´æ´¢Æ÷ϵͳ£¬Èôij×éµÄÆðʼµØÖ·Îª08000H£¬ÔòÆäÄ©µØÖ·Îª¶àÉÙ£¿ ´ð£ºÄ©µØÖ·Îª9FFF.

5. ÔÚ8088×î´ó·½Ê½ÏµÍ³×ÜÏßÉÏÀ©³äÉè¼Æ4K×Ö½ÚµÄSRAM´æ´¢Æ÷µç·¡£SRAMоƬѡÓÃIntel 2114£¬ÆðʼµØÖ·´Ó0000H¡£ÊÔ»­³ö´Ë´æ´¢Æ÷µç·Óëϵͳ×ÜÏßµÄÁ¬½Óͼ¡£

´ð£ºÏµÍ³ÈÝÁ¿Îª 4K*8bit£¬Ð¾Æ¬ÈÝÁ¿Îª1K*4bit£¬ËùÒÔÒ»¹²ÐèÒª8ƬоƬ Á¬½ÓͼÈçÏ£º

29

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

6. ÔÚ8088ϵͳ×ÜÏßÉÏÀ©³äÉè¼Æ8KµÄ×Ö½ÚµÄSRAM´æ´¢Æ÷µç·¡£SRAMоƬѡÓÃIntel 6264£¬ÆðʼµØÖ·´Ó04000H¿ªÊ¼£¬ÒëÂëÆ÷µç·74LS138. £¨1£© ¼ÆËã´ËRAM´æ´¢ÇøµÄ×î¸ßµØÖ·ÊǶàÉÙ¡£ £¨2£© »­³ö´Ë´æ´¢Æ÷µç·Óëϵͳ×ÜÏßµÄÁ¬½Óͼ¡£ ´ð£º£¨1£©×î¸ßµØÖ·ÊÇ05FFFH¡£ £¨2£©

7. ÔÚ8086×îС·½Ê½ÏµÍ³×ÜÏßÉÏÀ©³äÉè¼Æ16K×Ö½ÚµÄSRAM´æ´¢Æ÷µç·£¬SRAMоƬѡÓÃIntel 6264£¬ÆðʼµØÖ·´Ó04000H¿ªÊ¼£¬ÒëÂëÆ÷µç·²ÉÓÃ74LS138.

30

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

£¨1£© ¼ÆËã´ËRAM´æ´¢ÇøÓòµÄ×î¸ßµØÖ·ÊǶàÉÙ £¨2£© »­³ö´Ë´æ´¢Æ÷Óë×ÜÏßµÄÁ¬½Óͼ¡£ ´ð£º(1) 07FFFH (2)

31

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

ϰÌâ6

1. ʲôÊǽӿڣ¿½Ó¿ÚµÄ¹¦ÄÜÊÇʲô£¿

´ð£ºÎ»ÓÚÖ÷»úÓëÍâÉèÖ®¼ä£¬ÓÃÀ´Ð­ÖúÍê³ÉÊý¾Ý´«ËͺͿØÖÆÈÎÎñµÄÂß¼­µç·³ÆÎª½Ó¿Úµç·£¬½Ó¿Úµç·¶ÔÊäÈë/Êä³ö¹ý³ÌÆð»º³åºÍÁªÂç×÷Ó᣽ӿڵŦÄÜÊÇÓУ¬Êý¾Ý»º³å¹¦ÄÜ£¬ÁªÂ繦ÄÜ£¬Ñ°Ö·¹¦ÄÜ£¬Ô¤´¦Àí¹¦ÄÜ£¬ÖжϹÜÀí¹¦ÄÜ¡£

2. ¼ÆËã»ú¶ÔI/O¶Ë¿Ú±àַʱͨ³£²ÉÓÃÄÄÁ½ÖÖ·½·¨£¿ÔÚ8086ϵͳÖУ¬ÓÃÄÄÖÖ·½·¨½øÐбàÖ·£¿

´ð£ºI/O¶Ë¿ÚºÍ´æ´¢Æ÷ͳһ±àÖ·£»I/O¶Ë¿Úµ¥¶À±àÖ·¡£8086ϵͳ²ÉÓÃI/O¶Ë¿Úµ¥¶À±àÖ··½Ê½¡£

3. CPUºÍÊäÈë/Êä³öÉ豸֮¼ä´«Ë͵ÄÐÅÏ¢ÓÐÄļ¸Àà? ´ð: Êý¾ÝÐÅÏ¢£¬¿ØÖÆÐÅÏ¢£¬Óë״̬ÐÅÏ¢¡£

4. ¼òÊöCPUÓëÍâÉè½øÐÐÊý¾Ý½»»»µÄ¼¸ÖÖ³£Ó÷½Ê½.

´ð: ³ÌÐò¿ØÖÆ·½Ê½: ÌØµãÊÇÒÀ¿¿³ÌÐòµÄ¿ØÖÆÀ´ÊµÏÖÖ÷»úºÍÍâÉèµÄÊý¾Ý´«ËÍ,¿É·ÖΪÎÞÌõ¼þ´«ËÍ·½Ê½ºÍ²éѯ·½Ê½.

ÖжϿØÖÆ·½Ê½: ÿ´ÎÊäÈëºÍÊä³öÒ»¸öÊý¾Ý£¬CPU¶¼Òª¼ì²éÍâÉèµÄ״̬¡£ Ö±½Ó´æ´¢Æ÷´æÈ¡¿ØÖÆ·½Ê½£º cpu²»²Î¼ÓÊý¾Ý´«ËÍ£¬¶øÊÇÓÉDMA¿ØÖÆÆ÷À´ÊµÏÖÄÚ´æÓëÍâÉ裬ÍâÉèÓëÍâÉèÖ®¼äµÄÖ±½Ó´«µÝ¡£

ͨµÀ·½Ê½£º¿ÉÒÔʵÏÖ¶ÔÍâΧÉ豸µÄͳһ¹ÜÀíºÍÍâΧÉ豸ÓëÄÚ´æÖ®¼äµÄÊý¾Ý´«ËÍ¡£

ÍâΧ´¦Àí»ú·½Ê½£ºÓÉPPU¶ÀÁ¢ÓÚÖ÷»ú¹¤×÷£¬¼õÉÙÁËCPU¿ØÖÆÍâÉèµÄ¸ºµ£¡£

5£®ÎÞÌõ¼þ´«ËÍ·½Ê½ÊÊÓÃÄÄЩ³¡ºÏ£¿²éѯ·½Ê½Ô­ÀíÔõÑù£¿Ö÷ÒªÓÃÔÚʲô³¡ºÏ£¿ ´ð£ºÎÞÌõ¼þ´«ËÍÊÊÓÃÓÚ¼òµ¥µÄÊäÈë/Êä³öÉ豸£¬CPU¿ÉÒÔËæÊ±¶ÁÈ¡»ò½ÓÊÜ״̬¡£ÕâЩÐźű仯»ºÂý£¬µ±ÐèÒª²É¼¯Êý¾Ýʱ£¬ÎÞÐè¼ì²é¶Ë¿Ú£¬¾Í¿ÉÒÔÁ¢¼´²É¼¯Êý¾Ý£¬Ö±½ÓÓÃÊäÈë/Êä³öÖ¸ÁîÍê³É¡£ÎÞÌõ¼þ´«ËÍ·½Ê½Ö÷ÒªÓÃÓÚ¿ØÖÆCPUÓëµÍË×I/O½Ó¿ÚÖ®¼äµÄÐÅÏ¢½»»»¡£

32

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

6.ÏÖÓÐÒ»ÊäÈëÉ豸£¬ÆäÊý¾Ý¶Ë¿ÚµÄµØÖ·ÎªFFE0H£¬²¢ÓÚ¶Ë¿ÚFFE2HÌṩ״̬£¬µ±ÆäD0λΪ1ʱ±íÃ÷ÊäÈëÊý¾Ý×¼±¸ºÃ¡£Çë±àд²ÉÓòéѯ·½Ê½½øÐÐÊý¾Ý´«Ë͵ijÌÐò¶Î£¬ÒªÇó´Ó¸ÃÉ豸¶ÁÈ¡100B²¢ÊäÈëµ½1000H:2000H¿ªÊ¼µÄÄÚ´æÖС£

MOV DX, 0FFE2H

L1£º IN AL, DX ÕâÊÇϰÌâ6µÄµÚ6ÌâµÄ´ð°¸£¬ TEST AL, 01H Õâ¸ö³ÌÐòд²»³öÀ´£¬½¨ÒéɾÕâÒ»ÎÊ JZ L1

MOV AX, 1000H MOV DS, AX MOV DX, 2000H MOV CX, 100 MOV DX, 0FFE0H L2: IN AL, DX MOV [DX], AL INC BX LOOPN L2

7£®²éѯʽ´«ËÍ·½Ê½ÓÐʲôÓÅȱµã£¿ÖжϷ½Ê½ÎªÊ²Ã´ÄÜÃÖ²¹²éѯ·½Ê½µÄȱµã£¿ ´ð£º²éѯ´«ËÍ·½Ê½CPUͨ¹ý³ÌÐò²»¶Ï²éѯÏàÓ¦É豸µÄ״̬£¬×´Ì¬²»·ûºÏÒªÇó£¬ÔòCPUÐèÒªµÈ´ý£»Ö»Óе±×´Ì¬ÐźŷûºÏÒªÇóʱ£¬CPU²ÅÄܽøÐÐÏàÓ¦µÄ²Ù×÷¡£ÖжϷ½Ê½Ìá¸ßÁ˼ÆËã»úϵͳÖÐÐÅÏ¢´¦ÀíµÄ²¢Ðкʹ¦ÀíÆ÷ЧÂÊ£¬ÖжϿÉÒÔʵÏÖͬ²½²Ù×÷£¬ÊµÊ±´¦ÀíµÈ¹¦ÄÜ¡£

8. 8088/8086ÖжÏÏòÁ¿±íµÄ×÷ÓÃÊÇʲô£¿

´ð£ºÖжÏÏòÁ¿±í½¨Á¢Á˲»Í¬µÄÖжÏÔ´ÓëÆäÏàÓ¦µÄÖжϷþÎñ³ÌÐòÊ×µØÖ·Ö®¼äµÄÁªÏµ£¬ËüÊÇCPUÔÚÏìÓ¦ÖжÏʱ¿ÉÒÔÒÀ¾ÝÖжÏÀàÐÍÂë×Ô¶¯×ªÏòÖжϷþÎñ³ÌÐò¡£

9. ʲô½ÐÖжÏÏòÁ¿£¿Ëü·ÅÔÚÄÄÀ¶ÔÓÚ1CHµÄÖжÏÏòÁ¿ÔÚÄÄÀÈç¹û1CHµÄÖжϳÌÐò´Ó5110H¿ªÊ¼£º2030H¿ªÊ¼£¬ÔòÖжÏÏòÁ¿Ó¦¸ÃÔõÑù´æ·Å£¿ ´ð£ºÖжÏÏòÁ¿¼´ÓÃÀ´ÌṩÖжÏÈë¿ÚµØÖ·µÄÒ»¸öÖ¸Õë¡£

10. 8259ÖÐIRR, IMR, ISRÈý¸ö¼Ä´æÆ÷µÄ×÷ÓÃÊÇʲô£¿

33

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

´ð£º¢ÅÖжÏÇëÇó¼Ä´æÆ÷IRR

8259AÓÐ8ÌõÍⲿÖжÏÇëÇóÊäÈëÐźÅÏßIR0-IR7£¬Ã¿Ò»ÌõÇëÇóÏßÉÏÓÐÒ»¸öÏàÓ¦µÄ´¥·¢Æ÷À´±£´æÇëÇóÐźţ¬ËüÃÇÐγÉÁËÖжÏÇëÇó¼Ä´æÆ÷IRR£¨Interrupt Request Register£©¡£

¢ÆÖÐ¶ÏÆÁ±Î¼Ä´æÆ÷IMR

IMR(Interrupt Mask Register)ÓÃÀ´´æ·ÅÆÁ±ÎλÐÅÏ¢£¬IMRµÄÿһλ¿ÉÒÔ½ûÖ¹IRRÖжÔӦλµÄÖжÏÇëÇóÊäÈëÐźŽøÈë¡£

¢ÇÖжϷþÎñ¼Ä´æÆ÷ISR

ISR£¨Interrupt Service Register£©´æ·Åµ±Ç°ÕýÔÚ½øÐзþÎñµÄËùÓÐÖжϡ£ISRÖÐÏàӦλµÄÖÃλÊÇÔÚÖжÏÏìÓ¦µÄINTAÂö³åÆÚ¼ä£¬ÓÉÓÅÏÈȨÅоöµç·¸ù¾ÝIRRÖи÷ÇëÇóλµÄÓÅÏÈȨ¼¶±ðºÍIMRÖÐÆÁ±ÎλµÄ״̬£¬½«ÖжϵÄ×î¸ßÓÅÏȼ¶ÇëÇóλѡͨµ½ISRÖС£

11. ÀàÐͺÅΪ20HµÄÖжϷþÎñ³ÌÐòÈë¿Ú·ûºÅµØÖ·ÎªINT-5£¬ÊÔд³öÖжÏÏòÁ¿µÄ×°Èë³ÌÐòƬ¶Î¡£ ´ð£ºMOV AX, 0

MOV DS, AX MOV SF, 20H*4 LEA AX, IMS MOV [IS], AX MOV AX, SEQ, INTS MOV [SI+2], AX

12. ¼òÊöDMA¿ØÖÆÆ÷ͬһ°ã½Ó¿ÚоƬµÄÇø±ð¡£

´ð£ºDMA¿ØÖÆÆ÷Äܸø³ö·ÃÎÊÄÚ´æËùÐèÒªµÄµØÖ·ÐÅÏ¢£¬²¢ÄÜ×Ô¶¯Ð޸ĵØÖ·Ö¸Õ룬ҲÄÜÉ趨ºÍÐ޸Ĵ«Ë͵Ä×Ö½ÚÊý£¬»¹ÄÜÏò´æ´¢Æ÷ºÍÍâÉè·¢³öÏàÓ¦µÄ¶Á/д¿ØÖÆÐźš£ÔÚDMA´«ËͽáÊøºó£¬ËüÄÜÊÍ·Å×ÜÏߣ¬°Ñ¶Ô×ÜÏߵĿØÖÆÈ¨ÓÖ½»»¹¸øCPU¡£ÓÃDMA·½Ê½´«ÊäÊý¾Ýʱ£¬²»ÐèÒª½øÐб£»¤ºÍ»Ö¸´¶Ïµã¼°ÏÖ³¡Ö®ÀàµÄ¶îÍâ²Ù×÷¡£

13. ¼òÊö8237A3ÖÖ»ù±¾´«ËÍÀàÐ͵ÄÌØµã¡£

34

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

´ð£ºµ¥´Î´«ËÍ·½Ê½£ºÃ¿´ÎDMA²Ù×÷Ö»´«ËÍ1B£¬È»ºó¾Í×Ô¶¯°Ñ×ÜÏß¿ØÖÆÈ¨½»¸øCPU,Èô»¹ÓÐͨµÀÇëÇóÐźţ¬ÔòDMACÔòÔÙÖØÐÂÏòCPU·¢³ö×ÜÏßÇëÇ󣬻ñµÃ¿ØÖÆÈ¨ºóÔð´«ËÍÏÂÒ»BÊý¾Ý¡£

Êý¾Ý¿é´«ËÍ£ºÔÚ½øÈëDMA²Ù×÷ºó£¬¾ÍÁ¬Ðø´«ËÍÊý¾Ý£¬Ö±µ½Õû¿éÊý¾ÝÈ«²¿´«ËÍÍê±Ï£¬ÔÚ×Ö½ÚÊý¼õΪ0»òÍâ½çÊäÈëÖÕÖ¹ÐźÅʱ£¬²Å»á½«×ÜÏß¿ØÖÆÈ¨½»»¹¸øCPU¡£

ÇëÇó´«ËÍ£ºÕâÖÖ·½Ê½Ò²¿ÉÒÔÓÃÓڳɿéÊý¾Ý´«Êä¡£ÕâÖÖ·½Ê½ÊÊÓÃÓÚ×¼±¸ºÃ´«ËÍÊý¾Ýʱ£¬·¢³öͨµÀÇëÇó£»ÈôÊý¾Ýδ׼±¸ºÃʱ£¬¾ÍʹͨµÀÇëÇóÎÞЧ£¬½«×ÜÏß¿ØÖÆÈ¨½»»¹¸øCPU¡£

35

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

ϰÌâ7

1. ²¢ÐнӿÚÓкÎÌØµã£¿ÆäÓ¦Óó¡ºÏÈçºÎ£¿

´ð£ºÒ»¸ö²¢Ðнӿڰüº¬×´Ì¬ÐÅÏ¢£¬¿ØÖÆÐÅÏ¢£¬ºÍÊý¾ÝÐÅÏ¢£¬ÕâЩÐÅÏ¢·Ö±ð´æ·ÅÔÚ

״̬¼Ä´æÆ÷£¬¿ØÖƼĴæÆ÷ºÍÊý¾Ý»º³å»º³å¼Ä´æÆ÷¡£´Ó²¢Ðнӿڵĵ緽ṹÀ´¿´£¬ËüÓÐÓ²Á¬½ÓÏ߽ӿںͿɱà³Ì½Ó¿ÚÖ®·Ö¡£Ó²Á¬½ÓÏß½Ó¿Ú²»ÄÜÓÃÈí¼þ±à³Ì·½·¨¼ÓÒԸı䣬¶ø¿É±à³Ì½Ó¿Ú¿ÉÓÃÈí¼þ±à³Ì·½Ê½¼ÓÒԸı䡣ÆäÓ¦ÓÃÓÚ´òÓ¡»ú£¬IEEE488½Ó¿Ú£¬¿ª¹ØÁ¿½Ó¿Ú£¬¿ØÖÆÉ豸½Ó¿ÚµÈ¡£

2. ¿É±à³Ì²¢ÐÐоƬ8255ÓÐÄļ¸ÖÖ¹¤×÷·½Ê½£¿Æä²î±ðºÎÔÚ£¿ËûÃÇÔÚΣ»úϵͳÖеÄÁ¬½Ó·½·¨ÓÐʲô²»Í¬£¿

´ð£º8255AÓÐ3ÖÖ¹¤×÷·½Ê½£º³ÆÎª·½Ê½0£¬·½Ê½1ºÍ·½Ê½2¡£

ÆäÖÐA¿Ú¿ÉÒÔ¹¤×÷ÔÚ3ÖÖ·½Ê½ÖеÄÈÎÒ»ÖÖ£»B¿ÚÖ»Äܹ¤×÷ÔÚ·½Ê½0ºÍ·½Ê½1£»C¿Úͨ³£×÷Ϊ¿ØÖÆÐźÅʹÓã¬ÅäºÏA¿ÚºÍB¿ÚµÄ¹¤×÷¡£

¢Ù·½Ê½0£º»ù±¾µÄÊäÈëÊä³ö·½Ê½

·½Ê½0Ö®ËùÒÔ±»³ÆÎª»ù±¾µÄÊäÈëÊä³ö·½Ê½£¬ÊÇÒòΪÔÚÕâÖÖ·½Ê½Ï£¬A¿Ú¡¢B¿ÚºÍC¿Ú(C¿Ú·ÖΪ2¸ö4λʹÓÃ)¶¼¿ÉÌṩ¼òµ¥µÄÊäÈëºÍÊä³ö²Ù×÷£¬¶Ôÿ¸ö¿Ú²»ÐèÒª¹Ì¶¨µÄÓ¦´ðʽÁªÂçÐźš£

¹¤×÷ÔÚ·½Ê½0Ï£¬ÔÚ³ÌÐòÖпÉÖ±½ÓʹÓÃÊäÈëÖ¸Áî(IN)ºÍÊä³ö(OUT)Ö¸Áî¶Ô¸÷¿Ú½øÐжÁд¡£·½Ê½0µÄ»ù±¾¶¨ÒåÈçÏ£º2¸ö8λµÄ¿ÚºÍ2¸ö4λµÄ¿Ú¡£ÈκÎÒ»¸ö¿Ú¶¼¿ÉÒÔ×÷ΪÊäÈë»òÊä³ö¡£Êä³ö¿ÉÒÔ±»Ëø´æ¡£ÊäÈë²»ÄÜËø´æ¡£

·½Ê½0Ò»°ãÓÃÓÚÎÞÌõ¼þ´«Ë͵ij¡ºÏ£¬²»ÐèÒªÓ¦´ðʽÁªÂçÐźţ¬ÍâÉè×ÜÊÇ´¦ÓÚ×¼±¸ºÃµÄ״̬¡£Ò²¿ÉÒÔÓÃ×÷²éѯʽ´«ËÍ£¬²éѯʽ´«ËÍʱ£¬ÐèÒªÓÐÓ¦´ðÐźš£¿ÉÒÔ½«A¿Ú¡¢B¿Ú×÷ΪÊý¾Ý¿ÚʹÓᣰÑC¿Ú·ÖΪ2²¿·Ö£¬ÆäÖÐ4λ¹æ¶¨ÎªÊä³ö£¬ÓÃÀ´Êä³öһЩ¿ØÖÆÐÅÏ¢£»ÁíÍâ4λ¹æ¶¨ÎªÊäÈ룬ÓÃÀ´¶ÁÈëÍâÉèµÄ״̬¡£ÀûÓÃC¿ÚÅäºÏA¿ÚºÍB¿ÚÍê³É²éѯʽµÄI/O²Ù×÷¡£

¢Ú·½Ê½1£ºÑ¡Í¨ÊäÈë/Êä³ö·½Ê½

ÔÚÕâÖÖ·½Ê½Ï£¬µ±A¿ÚºÍB¿Ú½øÐÐÊäÈëÊä³öʱ£¬±ØÐëÀûÓÃC¿ÚÌṩµÄѡͨºÍÓ¦´ðÐźš£¶øÇÒÕâЩÐźÅÓëC¿ÚÖеÄijЩλ֮¼äÓÐ׏̶¨µÄ¶ÔÓ¦¹ØÏµ£¬ÕâÖÖ¹ØÏµÊÇÓ²¼þ±¾Éí¾ö¶¨µÄ²»ÊÇÈí¼þ¿ÉÒԸıäµÄ¡£ÓÉÓÚ¹¤×÷ÔÚ·½Ê½lʱ£¬ÒªÓÉC¿ÚÖеĹ̶¨Î»À´×÷ΪѡͨºÍÓ¦´ðµÈ¿ØÖÆÐźţ¬Òò´Ë³Æ·½Ê½1ΪѡͨµÄÊäÈë/Êä³ö·½Ê½¡£

36

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

·½Ê½1µÄ»ù±¾¶¨ÒåÈçÏ£º·Ö³É2×é(A×éºÍB×é)¡£Ã¿×é°üº¬Ò»¸ö8λµÄÊý¾Ý¿ÚºÍ1¸ö4λµÄ¿ØÖÆ/Êý¾Ý¿Ú¡£8λµÄÊý¾Ý¿Ú¼È¿ÉÒÔ×÷ΪÊäÈëÒ²¿ÉÒÔ×÷Êä³ö£¬ÊäÈëºÍÊä³ö¶¼¿ÉÒÔ±»Ëø´æ¡£4λµÄ¿ØÖÆ/Êý¾Ý¿ÚÓÃÓÚ´«ËÍ8λÊý¾Ý¿ÚµÄ¿ØÖƺÍ״̬ÐÅÏ¢¡£

¢Û·½Ê½2£º´øÑ¡Í¨µÄË«Ïò´«Ê䷽ʽ

ÕâÖÖË«ÏòµÄ´«Ê䷽ʽ£¬8255A¿ÉÒÔÏòÍâÉè·¢ËÍÊý¾Ý£¬Í¬Ê±CPUͨ¹ýÕâ8λÊý¾ÝÏßÓÖ½ÓÊÕÍâÉèµÄÊý¾Ý¡£Òò´Ë³ÆÎªË«ÏòµÄ´«Ê䷽ʽ¡£

·½Ê½2µÄ»ù±¾¶¨ÒåÈçÏ£ºÖ»ÄÜÊÊÓÃÓÚA¿Ú¡£Ò»¸ö8λµÄË«Ïò¿Ú(A¿Ú)ºÍ1¸ö5λµÄ¿ØÖÆ¿Ú(C¿Ú)¡£A¿ÚµÄÊäÈëºÍÊä³ö¶¼¿ÉÒÔ±»Ëø´æ¡£5λµÄ¿ØÖÆ¿ÚÓÃÓÚ´«ËÍ8λ˫Ïò¿ÚµÄ¿ØÖƺÍ״̬ÐÅÏ¢¡£

µ±A¿Ú¹¤×÷ÔÚ·½Ê½2ʱ£¬ÓÉPA7¡«PA0×÷8λÊý¾ÝÏߣ¬ÒòΪҪÓÉC¿Ú¶ÔA¿Ú½øÐпØÖÆ£¬ËùÒÔ³ÆÎª´øÑ¡Í¨µÄË«Ïò´«Ê䷽ʽ¡£C¿Ú¶ÔA¿ÚµÄ¿ØÖÆÐźÅÈçͼ8.20Ëùʾ£¬¹¤×÷ʱÐòÈçͼ8.20Ëùʾ¡£ÔÚÕâÖÖ·½Ê½Ï£¬C¿ÚÖÐÓÐ5λPC7Ò»PC3×÷Ϊ¿ØÖÆÐźźÍ״̬ÐÅϢʹÓã¬Ê£ÏµÄ3λPC2¡«PC0¿É×÷Ϊ¼òµ¥µÄÊäÈë/Êä³öÏßʹÓᣵ±¿ØÖÆ×ÖµÄD0λΪ1ʱPC2¡«PC0×÷ÊäÈ룻µ±¿ØÖÆ×ÖµÄD0λΪ0ʱPC2¡«PC0×÷Êä³ö¡£

3. ¿É±à³Ì½Ó¿ÚоƬ8255µÄ¿ØÖÆ×ÖÓÐÄÄÁ½¸ö£¿Æä¿ØÖÆ×Ö¼°Ã¿Î»µÄº¬ÒåÊÇʲô£¿

¿ØÖÆ×Ö·ÖΪ2ÖÖ£º·Ö±ð³ÆÎª·½Ê½Ñ¡Ôñ¿ØÖÆ×ֺͶ˿ÚCÖÃ1/ÖÃ0¿ØÖÆ×Ö¡£¸ù¾Ý¿ØÖƼĴæÆ÷µÄD7λµÄ״̬¾ö¶¨ÊÇÄÄÒ»ÖÖ¿ØÖÆ×Ö¡£ ¢Ù·½Ê½Ñ¡Ôñ¿ØÖÆ×Ö ×Öʶ±ðλ£¬Îª1ͼËùʾ¡£ËüÓÉÒ»¸öÑ¡ÖÐ D7 D6 D5 D4 D3 D2 D1 D0 ·½Ê½Ñ¡Ôñ¿ØÖÆ00£º·½Ê½0 8255AA¿Ú PC7PC4 B×鷽ʽB¿Ú PC·½Ê½Ñ¡Ôñ¿ØÖÆ×ÖÓÃÀ´¾ö¶¨Èý¸öÊý¾Ý¶Ë¿Ú¸÷×ԵŤ×÷·½Ê½£¬ËüµÄ¸ñʽÈç3PC0 ¡«¡«01£º·½Ê½1 1£ºÊäÈë 1£ºÊäÈë 81xλµÄ¼Ä´æÆ÷×é³É¡££º·½Ê½2 0£ºÊä³ö 0£ºÊä³ö A×é¿ØÖÆ 0£º·½Ê½0 1£ºÊäÈë 1£ºÊäÈë 1£º·½Ê½1 0£ºÊä³ö 0£ºÊä³ö B×é¿ØÖÆ ¢Ú¿ÚCÖÃ1/ÖÃ0¿ØÖÆ×Ö

D7 8255AÔÚºÍCPU´«ÊäÊý¾ÝµÄ¹ý³ÌÖУ¬¾­³£½«C¿ÚµÄij¼¸Î»×÷Ϊ¿ØÖÆÎ»»ò×´D6 D5 D4 D3 D2 D1 D0 ÈÎÒâÖµ C¿ÚλѡÔñ ̬λÀ´Ê¹Ó㬴ӶøÅäºÏA¿Ú»òB¿ÚµÄ¹¤×÷¡£ÎªÁË·½±ãÓû§£¬ÔÚ8255AоƬ³õʼ»¯Ê±£¬Cʶ±ðλ ¿ÚÖÃ1/ÖÃ0¿ØÖÆ×Ö¿ÉÒÔµ¥¶ÀÉèÖõ½C¿ÚµÄijһλΪ0»òijһλΪ1£¬¾ßÌåµÄ¸ñʽÈçͼËùʾ¡£

Ϊ0ÓÐЧ 000£ºPC0 001£ºPC1 010£ºPC2 011£ºPC3 100£ºPC4 101£ºPC5 110£ºPC6 111£ºPC7 0£ºÖÃ0 1£ºÖÃ1 C¿ÚÖÃλ Ñ¡ÖÐλÖÃ1ÖÃ0Ñ¡Ôñ

37

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

4. ¼Ù¶¨8255µÄ¶Ë¿ÚµØÖ··Ö±ðΪ0060H---0063H£¬±àд³öÏÂÁи÷Çé¿öµÄ³õʼ»¯³ÌÐò£º

£¨1£© ½«A¿Ú£¬B¿ÚÉèÖ÷½Ê½0£¬¶Ë¿ÚAºÍC×÷ΪÊäÈë¿Ú£¬B×÷ΪÊä³ö¿Ú £¨2£© ½«A¿ÚÉèÖóɷ½Ê½1£¬ÊäÈë¿Ú£¬PC6£¬PC7×÷ΪÊä³ö¶Ë£¬B¿ÚÉèÖóÉ

·½Ê½1£¬ÊäÈë¿Ú

´ð£º£¨1£©MOV AL, 99H MOV DX, 0063H OUT DX, AL (2) MOV AL, 0B6H

MOV DX, 0063H OUT DX, AL

5. Éè8253¼ÆÊýÆ÷0~2ºÍ¿ØÖÆ×ÖI/OµØÖ·ÒÀ´ÎF8H~FBH£¬ËµÃ÷ÈçϳÌÐòµÄ×÷ÓᣠMOV AL, 33H OUT 0FBH, AL MOV AL, 80H OUT 0F8H, AL MOV AL, 50H OUT 0F8H, AL

´ð£º¼ÆÊýÆ÷0£¬·½Ê½1£¬Ð´Á½¸ö×Ö½Ú

¿ØÖÆ×Ö½ÚË͵½¿ØÖÆ×ּĴæÆ÷ ¼ÆÊýÖµµÄµÍλ дµÍλ ¼ÆÊý³õÖµµÄ¸ßλ д¸ßλ

6. ¶¨Ê±/¼ÆÊýÆ÷оƬIntel 8253Õ¼Óü¸¸ö¶Ë¿ÚµØÖ·£¿¸÷¸ö¶Ë¿Ú·Ö±ð¶ÔӦʲô£¿ ´ð£º8253Õ¼ÓÃ4¸ö¶Ë¿ÚµØÖ·£¬µÍµØÖ··Ö±ðΪ¼ÆÊýÆ÷0£¬¼ÆÊýÆ÷1£¬¼ÆÊýÆ÷2£¬×î

¸ßµØÖ·¶Ë¿Ú¶ÔÓ¦¿ØÖÆ×ּĴæÆ÷¡£

7. ÊÔ°´ÈçÏÂÒªÇó·Ö±ð±àд8253µÄ³õʼ»¯³ÌÐò£¬ÒÑÖª8253µÄ¼ÆÊýÆ÷0~2ºÍ¿ØÖÆ

38

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

×ÖI/OµØÖ·ÒÀ´ÎΪ04H~07H

£¨1£©¼ÆÊýÆ÷1¹¤×÷ÔÚ·½Ê½0£¬½öÓÃ8λ¶þ½øÖƼÆÊýÆ÷£¬¼ÆÊý³õֵΪ128 £¨2£©¼ÆÊýÆ÷0¹¤×÷ÔÚ·½Ê½1£¬°´BCDÂë¼ÆË㣬¼ÆÊýֵΪ3000 £¨3£©¼ÆÊýÆ÷¹¤×÷ÔÚ·½Ê½2£¬¼ÆÊýֵΪ02F0H ´ð£º(1) MOV AL, 50H OUT 07H, AL MOV AL, 128 OUT 05H, AL

(2) MOV AL, 33H OUT 07H, AL MOV AX, 3000

OUT 04H, AL MOV AL, AH OUT 04H,A; (3) MOV AL, 0B4H

OUT 07H, AL MOV AL, 0F0H OUT 06H,AL MOV AL, 02H OUT 06H, AL

8. ÉèÒ»¸ö8253µÄ¶Ë¿ÚΪ0140H¡ª0143H£¬Ê±ÖÓÊäÈëÊÇÓÉ8284ʱÖÓ·¢ÉúÆ÷·¢³öµÄ2.3864MHZ¾­¶þ·ÖƵµÃµ½¡£ÏÖÔÚÒªÇóʹ¼ÆÊýÆ÷0²úÉú20msµÄ¶¨Ê±Ðźţ¬ÊÔ¶ÔËü½øÐгõʼ»¯±à³Ì¡£

´ð£º¸ù¾ÝÌâÒ⣬¿ØÖƸñʽ×ÖΪ00110100B

¼ÆÊý´ÎÊýΪ23864 ³ÌÐò¶ÎÈçÏ£º

MOV AL , 34H MOV DX, 0143H OUT DX, AL MOV AX, 23864

39

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

MOV DX , 0140H OUT DX, AL MOV AL, AH OUT DX, AL

9£®ÈÃ8253µÄ¼ÆÊýÆ÷3¹¤×÷ÔÚµ¥ÎÈ̬·½Ê½£¬ÈÃËü²úÉú15msµÄÂö³å¿í¶È¡£¼ÙÉèÊäÈëÆµÂÊΪ2MHz£¬8253µÄ¶Ë¿ÚµØÖ·Îª20H¡ª23H£¬¶þ½øÖƼÆÊý·½Ê½¡£ ´ð£º·½Ê½×ÖΪB2H

¼ÆÊýÆ÷³õÖµ£º30000

³ÌÐòÈçÏ£ºMOV AL , B2H OUT 23H, AL MOV AX, 30000 OUT 20H, AL MOV AL, AH OUT 20H, AL

10.Çë°ÑÒ»¸ö8253Óë8086CPUÏàÁ¬£¬µØÖ·Îª2FF0~2FF3H¡£

40

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

11. 8251·½Ê½¿ØÖÆÆ÷µÄ×÷ÓÃÊÇʲô£¿·½Ê½Ñ¡ÔñÓм¸ÖÖ£¿·Ö±ðÓÐÊ²Ã´ÌØµã£¿ ´ð£º·½Ê½¼Ä´æÆ÷ÊÇ8251ÔÚ³õʼ»¯Ê±£¬ÓÃÀ´Ð´È뷽ʽѡÔñ×ֵġ£8251µÄ·½Ê½Ñ¡ÔñÓÐÁ½ÖÖ£ºÍ¬²½·½Ê½ºÍÒì²½·½Ê½¡£

Òì²½¹¤×÷·½Ê½Ê±£¬Á½¸ö×Ö·ûÖ®¼äµÄ´«Êä¼ä¸ôÊÇÈÎÒâµÄ£¬ËùÒÔ£¬Ã¿¸ö×Ö·ûµÄǰºó¶¼ÒªÓÃһЩÊýλÀ´×÷Ϊ·Ö¸ôλ¡£ÔÚ²ÉÓÃÒì²½¹¤×÷·½Ê½Ê±£¬·ÇÊý¾ÝÐÅÏ¢±ÈÀý±È½Ï´ó£¬¶øÇÒ£¬ÐÅÏ¢ÓÐЧÂʱÈͬ²½·½Ê½µÍ£¬ÔÚÒì²½·½Ê½Ï£¬½ÓÊÕ·½µÄʱÖÓÆµÂʺͷ¢ËÍ·½µÄʱÖÓÆµÂʲ»±ØÍêȫһÑù£¬¶øÖ»Òª±È½ÏÏñ½ü£¬¼´²»³¬¹ýÒ»¶¨µÄÔÊÐí·¶Î§¾ÍÐÐÁË¡£

ͬ²½·½Ê½Ê±£¬½«Ðí¶à×Ö·û×é³ÉÒ»¸öÐÅÏ¢×飬ÕâÑù£¬×Ö·û¿ÉÒÔÒ»¸ö½ÓÒ»¸öµØ´«Ê䣬µ«ÊÇ£¬ÔÚÿ×éÐÅÏ¢£¨Í¨³£³ÆÎªÐÅÏ¢Ö¡£©µÄ¿ªÊ¼Òª¼ÓÉÏͬ²½×Ö·û£¬ÔÚûÓÐÐÅÏ¢Òª´«Êäʱ£¬ÒªÌîÉÏ¿Õ×Ö·û£¬ÒòΪͬ²½´«Êä²»ÔÊÐíÓмä϶¡£ÔÚͬ²½·½Ê½Ï£¬·ÇÊý¾ÝÐÅÏ¢±ÈÀý±È½ÏС£¬ÒªÇó½øÐÐÐÅÏ¢´«ÊäµÄË«·½±ØÐëÓÃͬһ¸öʱÖÓ½øÐÐЭµ÷£¬ÕýÊÇÕâ¸öʱÖÓÈ·¶¨ÁËͬ²½´®Ðд«Êä¹ý³ÌÖÐÿ1λµÄλÖ㬶øÇÒ£¬ÔÚ´«ÊäÊý¾ÝµÄͬʱ£¬»¹±ØÐë´«ÊäʱÖÓÐźš£

12.ʲôÊÇA/D, D/Aת»»Æ÷£¿

41

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

´ð£ºA/DÊǽ«Ä£ÄâÐźÅת»»³ÉÊý×ÖÐźŵĵç·£¬³ÆÎªÄ£Êýת»»Æ÷£¨analog to digital converter£©£»

D/AÊǽ«Êý×ÖÐźÅת»»ÎªÄ£ÄâÐźŵĵç·³ÆÎªÊýģת»»Æ÷£¨digital to analog converter£©¡£

13. DAC0832ÓÐÄļ¸ÖÖ¹¤×÷·½Ê½£¿Ã¿ÖÖ¹¤×÷·½Ê½ÊÊÓÃÓÚʲô³¡ºÏ£¿Ã¿ÖÖ·½Ê½ÊÇÓÃʲô·½·¨²úÉúµÄ£¿

´ð£ºDAC0832¿ÉʵÏÖË«»º³å¡¢µ¥»º³åºÍֱͨÈýÖÖ¹¤×÷״̬¡£

¢ÙË«»º³å·½Ê½

Ëùν˫»º³å·½Ê½£¬¾ÍÊǰÑDAC0832µÄÊäÈëËø´æÆ÷ºÍDAC¼Ä´æÆ÷¶¼½Ó³ÉÊÜ¿ØËø´æ·½Ê½¡£

ÊÊÓÃÓÚ¶à¸öDAC0832ͬʱÊä³öµÄÇé¿ö¡£²ÉÓõķ½·¨ÊÇÏȱð·Ö±ðÊÇÕâЩDAC0832µÄÊäÈë¼Ä´æÆ÷½ÓÊÜÊý¾Ý£¬ÔÚ¿ØÖÆÕâЩDAC0832ͬʱ´«ËÍÊý¾Ýµ½DAC¼Ä´æÆ÷ÒÔʵÏÖ¶¼¶à¸öDACת»»Í¬²½Êä³ö

¢Úµ¥»º³å·½Ê½

Ëùνµ¥»º³å·½Ê½¾ÍÊÇʹDAC0832µÄÊäÈëËø´æÆ÷ºÍDAC¼Ä´æÆ÷ÓÐÒ»¸ö´¦ÓÚֱͨ·½Ê½£¬ÁíÒ»¸ö´¦ÓÚÊܿصÄËø´æ·½Ê½¡£´Ë·½Ê½Ö»ÊÇÓÃÖ»ÓÐһ·ģÄâÁ¿Êä³ö»ò¼¸Â·Ä£ÄâÁ¿·Çͬ²½Êä³öµÄÇé¿ö¡£²ÉÓõķ½·¨ÊÇ¿ØÖÆÊäÈë¼Ä´æÆ÷ºÍDAC¼Ä´æÆ÷ͬʱ½ÓÊÜÊý¾Ý£¬»òÕßÖ»ÓÐÓÃÊäÈë¼Ä´æÆ÷¶ø°ÑDAC¼Ä´æÆ÷½Ó³Éֱͨ·½Ê½¡£

¢Ûֱͨ·½Ê½

ÊÊÓÃÓÚÁ¬Ðø·´À¡¿ØÖÆÏß·ÖС£·½·¨ÊÇÊý¾Ý²»Í¨¹ý»º³åÆ÷£¬¼´WR1£¬WR2£¬XFER£¬CS¾ùÔȽӵأ¬ILE½Ó¸ßµçƽ¡£´Ëʱ£¬±ØÐëͨ¹ýI/O½Ó¿ÚÓëCPUÁ¬½Ó£¬ÒÔÆ¥ÅäCUPÓëD/AµÄת»»¡£

14. ij8λD/Aת»»Æ÷оƬ£¬Êä³öΪ0~5V£¬µ±CPU·Ö±ðΪ80H£¬40H£¬10Hʱ£¬Æä¶ÔÓ¦µÄÊä³öµçѹ¸÷ÊǶàÉÙ£¿ ´ð£º80Hʱ 128/256*5V=2.5V 40Hʱ 64/256*5V=1.25V 10Hʱ 16/256*5V=0.3123V

15. ADC°ÑÄ£ÄâÁ¿×ª»»ÎªÊý×ÖÁ¿Ðźţ¬×ª»»²½ÖèÊÇʲô£¿×ª»»¹ý³ÌÓõ½Ê²Ã´µç

42

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£© Ç廪´óѧ³ö°æÉç

·£¿

´ð£ºADC°ÑÄ£ÄâÁ¿×ª»»ÎªÊý×ÖÁ¿Ðźţ¬·ÖΪËIJ½À´Íê³É£º²ÉÑù¡¢±£³Ö¡¢Á¿»¯¡¢±àÂ롣ת»¯¹ý³Ì¿ÉÒÔÓÃÖð´Î±Æ½üÐ͵ç·¡¢V/Fת»»Ð͵ç·ºÍË«»ý·ÖÐ͵ç·¡£

16. ADCÓë΢´¦ÀíÆ÷µÄ½Ó¿ÚÈÎÎñÊÇʲô£¿

´ð£ºADCÓë΢´¦ÀíÆ÷½Ó¿ÚµÄ»ù±¾ÈÎÎñÊÇ:ÏòADCת·¢Æô¶¯×ª»»ÐźÅ;ÏòCPUÌṩת»»½áÊøÐźÅ,°Ñת»»ºÃµÄÊý¾ÝËÍÈë΢´¦ÀíÆ÷¡£

17. ADCÖеÄת»»½áÊøÐźţ¨EOC£©Æðʲô×÷Óã¿

´ð£ºÊÇת»¯½áÊøÐźţ¬±íʾµ±Ç°µÄA/Dת»»ÒѾ­Íê³É£¬¿É×÷Ϊ²éѯÐÅÏ¢£¬Ò²¿É½ÓÖжÏÉêÇëÐźš£

18. Èç¹ûADC0809Óë΢»ú½Ó¿Ú²ÉÓÃÖжϷ½Ê½£¬ÔòEOCÓ¦ÈçºÎÈÃÓë΢´¦ÀíÆ÷Á¬½Ó£¿

´ð£º¿É²ÉÓÃÖ±½ÓÓëCPU INTR½ÅÁ¬½Ó£¬»òͨ¹ý8259A½ÓCPU .

ÉèADC0809µÄ¶Ë¿ÚºÅλPORTAD£¬ÔòÔÚÖ¸ÁîOUT PORTAD£¬ALÖ´Ðкó£¬A/Dת»»Æ÷¿ªÊ¼×ª»»×ª»»EOC·¢Ò»¸ö¸ßµçƽΪת»¯½áÊø£¬´ËÐźŲúÉúÖжÏÇëÇó£¬CPUÏìÓ¦ÖжϺó£¬È¥Ö´ÐÐÖжϴ¦Àí³ÌÐò£¬È¡½á¹ûIN AL£¬PORTAD£¬´Ëʱ£¬M/IO£¬RDÓÐЧ£¬CPU»ñµÃת»»½á¹û¡£

43