΢»úÔ­Àí¼°Ó¦ÓÃÆÚÄ©¿¼ÊÔÌâ ÏÂÔØ±¾ÎÄ

CH01 ΢ÐͼÆËã»ú¸ÅÊö ϰÌâÓë˼¿¼Ìâ

1£® ΢ÐͼÆËã»úÓÉÄÄЩ²¿¼þ×é³É£¿¸÷²¿¼þµÄÖ÷Òª¹¦ÄÜÊÇʲô£¿ ½â´ð£º ΢»úϵͳ ΢ÐͼÆËã»ú ϵͳÈí¼þ

ÍâΧÉ豸£º´òÓ¡»ú¡¢¼üÅÌ¡¢CRT¡¢´ÅÅÌ¿ØÖÆÆ÷µÈ ΢´¦ÀíÆ÷ £¨CPU£©

ϵͳ×ÜÏߣºAB¡¢CB¡¢DB

£¨¹¦ÄÜ£ºÎªCPUºÍÆäËû²¿¼þÖ®¼äÌṩÊý¾Ý¡¢µØÖ· ºÍ¿ØÖÆÐÅÏ¢µÄ´«ÊäͨµÀ£©

´æ´¢Æ÷£ºÖ»¶Á´æ´¢Æ÷£¨ROM£©¡¢Ëæ»ú´æ´¢Æ÷£¨RAM£© £¨¹¦ÄÜ£ºÓÃÀ´´æ´¢ÐÅÏ¢£©

ÊäÈë/Êä³ö£¨I/O£©½Ó¿Ú£º´®/²¢ÐÐ½Ó¿ÚµÈ £¨¹¦ÄÜ£ºÊ¹ÍⲿÉ豸ºÍ΢ÐÍ»úÏàÁ¬£© ËãÊõÂß¼­²¿¼þ(ALU£© ÀÛ¼ÓÆ÷¡¢¼Ä´æÆ÷ ¿ØÖÆÆ÷

²Ù×÷ϵͳ£¨OS£©

ϵͳʵÓóÌÐò£º»ã±à¡¢±àÒë¡¢±à¼­¡¢µ÷ÊÔ³ÌÐòµÈ

£¨×¢£ºCPUµÄ¹¦ÄÜ£­£­¢Ù¿ÉÒÔ½øÐÐËãÊõºÍÂß¼­ÔËË㣻 ¢Ú¿É±£´æÉÙÁ¿Êý¾Ý£»

¢ÛÄܶÔÖ¸Áî½øÐÐÒëÂë²¢Ö´Ðй涨µÄ¶¯×÷£» ¢ÜÄܺʹ洢Æ÷¡¢ÍâÉè½»»»Êý¾Ý£» ¢ÝÌṩÕûÐÞϵͳËùÐèÒªµÄ¶¨Ê±ºÍ¿ØÖÆ£» ¢Þ¿ÉÒÔÏìÓ¦ÆäËû²¿¼þ·¢À´µÄÖжÏÇëʾ¡££©

2£® 8086/8088 CPU ÓÉÄÄÁ½²¿·Ö×é³É£¿ËüÃǵÄÖ÷Òª¹¦Äܸ÷ÊÇʲô£¿ÊÇÈçºÎЭµ÷¹¤×÷µÄ£¿ ½â´ð£º ΢´¦ÀíÆ÷ £¨CPU£©

×ÜÏß½Ó¿Ú²¿¼þ(BIU£©£º¸ºÔðÓë´æ´¢Æ÷¡¢I/O¶Ë¿Ú´«ËÍÊý¾Ý Ö´Ðв¿¼þ£¨EU£©£º¸ºÔðÖ¸ÁîµÄÖ´ÐРЭµ÷¹¤×÷¹ý³Ì£º

×ÜÏß½Ó¿Ú²¿¼þºÍÖ´Ðв¿¼þ²¢²»ÊÇͬ²½¹¤×÷µÄ£¬ËüÃǰ´ÒÔÏÂÁ÷Ë®Ïß¼¼ÊõÔ­ÔòÀ´Ð­µ÷¹ÜÀí£º

¢Ù ÿµ±8086 µÄÖ¸Áî¶ÓÁÐÖÐÓÐÁ½¸ö¿Õ×Ö½Ú£¬»òÕß8088 µÄÖ¸Áî¶ÓÁÐÖÐÓÐÒ»¸ö¿Õ×Ö½Úʱ£¬

×ÜÏß½Ó¿Ú²¿¼þ¾Í»á×Ô¶¯°ÑÖ¸ÁîÈ¡µ½Ö¸Áî¶ÓÁÐÖС£

¢Ú ÿµ±Ö´Ðв¿¼þ×¼±¸Ö´ÐÐÒ»ÌõÖ¸Áîʱ£¬Ëü»á´Ó×ÜÏß½Ó¿Ú²¿¼þµÄÖ¸Áî¶ÓÁÐǰ²¿È¡³öÖ¸Áî

µÄ´úÂ룬ȻºóÓü¸¸öʱÖÓÖÜÆÚÈ¥Ö´ÐÐÖ¸Áî¡£ÔÚÖ´ÐÐÖ¸ÁîµÄ¹ý³ÌÖУ¬Èç¹û±ØÐë·Ã

ÎÊ´æ´¢Æ÷»òÕß

ÊäÈë/Êä³öÉ豸£¬ÄÇô£¬Ö´Ðв¿¼þ¾Í»áÇëÇó×ÜÏß½Ó¿Ú²¿¼þ½øÈë×ÜÏßÖÜÆÚ£¬Íê³É·ÃÎÊÄÚ´æ»òÕß

ÊäÈë/Êä³ö¶Ë¿ÚµÄ²Ù×÷£»Èç¹û´Ëʱ×ÜÏß½Ó¿Ú²¿¼þÕýºÃ´¦ÓÚ¿ÕÏÐ״̬£¬ÄÇô£¬»áÁ¢¼´ÏìÓ¦Ö´ÐÐ

²¿¼þµÄ×ÜÏßÇëÇó¡£µ«ÓÐʱ»áÓöµ½ÕâÑùµÄÇé¿ö£¬Ö´Ðв¿¼þÇëÇó×ÜÏß½Ó¿Ú²¿¼þ·ÃÎÊ×ÜÏßʱ£¬×ÜÏß

½Ó¿Ú²¿¼þÕýÔÚ½«Ä³¸öÖ¸Áî×Ö½ÚÈ¡µ½Ö¸Áî¶ÓÁÐÖУ¬´Ëʱ×ÜÏß½Ó¿Ú²¿¼þ½«Ê×ÏÈÍê³ÉÕâ¸öȡָÁîµÄ

²Ù×÷£¬È»ºóÔÙÈ¥ÏìÓ¦Ö´Ðв¿¼þ·¢³öµÄ·ÃÎÊ×ÜÏßµÄÇëÇó¡£

¢Û µ±Ö¸Áî¶ÓÁÐÒÑÂú£¬¶øÇÒÖ´Ðв¿¼þÓÖûÓÐ×ÜÏß·ÃÎÊÇëÇóʱ£¬×ÜÏß½Ó¿Ú²¿¼þ±ã½øÈë¿ÕÏÐ

״̬¡£¢Ü ÔÚÖ´ÐÐ×ªÒÆÖ¸Áî¡¢µ÷ÓÃÖ¸ÁîºÍ·µ»ØÖ¸Áîʱ£¬ÓÉÓÚ³ÌÐòÖ´ÐеÄ˳Ðò·¢ÉúÁ˸ı䣬²»ÔÙ

ÊÇ˳ÐòÖ´ÐÐÏÂÃæÒ»ÌõÖ¸ÁÕâʱ£¬Ö¸Áî¶ÓÁÐÖÐÒѾ­°´Ë³Ðò×°ÈëµÄ×Ö½Ú¾ÍûÓÃÁË¡£Óöµ½ÕâÖÖÇé

¿ö£¬Ö¸Áî¶ÓÁÐÖеÄÔ­ÓÐÄÚÈݽ«±»×Ô¶¯Ïû³ý£¬×ÜÏß½Ó¿Ú²¿¼þ»á°´×ªÒÆÎ»ÖÃÍùÖ¸Áî¶ÓÁÐ×°ÈëÁíÒ»

¸ö³ÌÐò¶ÎÖеÄÖ¸Áî¡£

3£® 8086/8088 CPU ÖÐÓÐÄÄЩ¼Ä´æÆ÷£¿¸÷ÓÐʲôÓÃ;£¿±êÖ¾¼Ä´æÆ÷F ÓÐÄÄЩ±ê־λ£¿¸÷ÔÚʲ ôÇé¿öÏÂÖÃλ£¿ ½â´ð£º ¼Ä´æÆ÷¹¦ÄÜ Êý¾Ý ¼Ä´æÆ÷

AX ×ֳ˷¨£¬×Ö³ý·¨£¬×ÖI/O BX ²é±íת»»

CX ´®²Ù×÷£¬Ñ­»·´ÎÊý

DX ×Ö½ÚÏà³Ë£¬×Ö½ÚÏà³ý£¬¼ä½ÓI/O ±äÖ· ¼Ä´æÆ÷

SI Ô´±äÖ·¼Ä´æÆ÷£¬ÓÃÓÚÖ¸ÁîµÄ±äַѰַ DI Ä¿µÄ±äÖ·¼Ä´æÆ÷£¬ÓÃÓÚÖ¸ÁîµÄ±äַѰַ Ö¸Õë ¼Ä´æÆ÷

SP ¶ÑÕ»Ö¸Õë¼Ä´æÆ÷£¬ÓëSS Ò»ÆðÀ´È·¶¨¶ÑÕ»ÔÚÄÚ´æÖеÄλÖÃ

BP »ùÊýÖ¸Õë¼Ä´æÆ÷£¬ÓÃÓÚ´æ·Å»ùµØÖ·£¬ÒÔʹ8086/8088 Ѱַ¸ü¼ÓÁé»î ¿ØÖÆ ¼Ä´æÆ÷

IP ¿ØÖÆCPU µÄÖ¸ÁîÖ´ÐÐ˳Ðò

PSW ÓÃÀ´´æ·Å8086/8088CPU ÔÚ¹¤×÷¹ý³ÌÖеÄ״̬ ¶Î¼Ä´æÆ÷CS ¿ØÖƳÌÐòÇø DS ¿ØÖÆÊý¾ÝÇø

SS ¿ØÖƶÑÕ»Çø ES ¿ØÖÆÊý¾ÝÇø

±êÖ¾¼Ä´æÆ÷F µÄ±ê־λ£º¢Ù¿ØÖƱêÖ¾£ºOF¡¢DF¡¢IF¡¢TF£»¢Ú״̬±êÖ¾£ºSF¡¢ZF¡¢AF¡¢ PF¡¢CF¡£

±êÖ¾¼Ä´æÆ÷F µÄ¸÷±ê־λÖÃλÇé¿ö£º

¡¤ CF£º½øÎ»±ê־λ¡£×ö¼Ó·¨Ê±³öÏÖ½øÎ»»ò×ö¼õ·¨Ê±³öÏÖ½è룬¸Ã±ê־λÖÃ1£»·ñÔòÇå0¡£

¡¤PF£ºÆæÅ¼±ê־λ¡£µ±½á¹ûµÄµÍ8 λÖÐl µÄ¸öÊýΪżÊýʱ£¬¸Ã±ê־λÖÃ1£»·ñÔòÇå0¡£

¡¤AF£º°ë½øÎ»±ê־λ¡£ÔÚ¼Ó·¨Ê±£¬µ±Î»3 ÐèÏòλ4 ½øÎ»£¬»òÔÚ¼õ·¨Ê±Î»3 ÐèÏòλ4 ½èλ

ʱ£¬¸Ã±ê־λ¾ÍÖÃ1£»·ñÔòÇå0¡£¸Ã±ê־λͨ³£ÓÃÓÚ¶ÔBCD ËãÊõÔËËã½á¹ûµÄµ÷Õû¡£

¡¤ZF£ºÁã±ê־λ¡£ÔËËã½á¹û¸÷λ¶¼Îª0 ʱ£¬¸Ã±ê־λÖÃ1£¬·ñÔòÇå0¡£

¡¤SF£º·ûºÅ±ê־λ¡£µ±ÔËËã½á¹ûµÄ×î¸ßλΪ1 ʱ£¬¸Ã±ê־λÖÃ1£¬·ñÔòÇå0¡£ ¡¤TF£ºÏÝÚå±ê־λ(µ¥²½±ê־λ)¡£µ±¸ÃλÖÃ1 ʱ£¬½«Ê¹8086/8088 ½øÈëµ¥²½Ö¸Á×÷·½Ê½¡£

ÔÚÿÌõÖ¸ÁʼִÐÐÒÔǰ£¬CPU ×ÜÊÇÏȲâÊÔTF λÊÇ·ñΪ1£¬Èç¹ûΪ1£¬ÔòÔÚ±¾Ö¸ÁîÖ´

Ðк󽫲úÉúÏÝÚåÖжϣ¬´Ó¶øÖ´ÐÐÏÝÚåÖжϴ¦Àí³ÌÐò¡£¸Ã³ÌÐòµÄÊ×µØÖ·ÓÉÄÚ´æµÄ 00004H~00007H 4 ¸öµ¥ÔªÌṩ¡£¸Ã±ê־ͨ³£ÓÃÓÚ³ÌÐòµÄµ÷ÊÔ¡£ÀýÈ磬ÔÚϵͳµ÷ÊÔÈí¼þ

DEBUG ÖеÄT ÃüÁ¾ÍÊÇÀûÓÃËüÀ´½øÐгÌÐòµÄµ¥²½¸ú×ٵġ£

¡¤IF£ºÖжÏÔÊÐí±ê־λ¡£Èç¹û¸ÃλÖÃ1£¬Ôò´¦ÀíÆ÷¿ÉÒÔÏìÓ¦¿ÉÆÁ±ÎÖжϣ¬·ñÔò¾Í²»ÄÜÏìÓ¦

¿ÉÆÁ±ÎÖжϡ£

¡¤DF£º·½Ïò±ê־λ¡£µ±¸ÃλÖÃ1 ʱ£¬´®²Ù×÷Ö¸ÁîΪ×Ô¶¯¼õÁ¿Ö¸Á¼´´Ó¸ßµØÖ·µ½µÍµØÖ·

´¦Àí×Ö·û´®£»·ñÔò´®²Ù×÷Ö¸ÁîΪ×Ô¶¯ÔöÁ¿Ö¸Áî¡£

¡¤OF£ºÒç³ö±ê־λ¡£ÔÚËãÊõÔËËãÖУ¬´ø·ûºÅµÄÊýµÄÔËËã½á¹û³¬³öÁË8 λ»ò16 λ´ø·ûºÅÊý

ËùÄܱí´ïµÄ·¶Î§Ê±£¬¼´×Ö½ÚÔËËã´óÓÚÊ®127 »òСÓÚ£­128 ʱ£¬×ÖÔËËã´óÓÚÊ®32767

»òСÓÚ£­32768 ʱ£¬¸Ã±ê־λÖÃλ¡£4£® 8086/8088 ϵͳÖд洢Æ÷µÄÂß¼­µØÖ·ºÍÎïÀíµØÖ·Ö®¼äÓÐʲô¹ØÏµ£¿±íʾµÄ·¶Î§¸÷Ϊ¶à ÉÙ£¿ ½â´ð£º

Âß¼­µØÖ·£º¶ÎµØÖ·£ºÆ«ÒƵØÖ·

ÎïÀíµØÖ·£ºÒ²³ÆÎª¾ø¶ÔµØÖ·£¬ÓɶλùÖ·ºÍÆ«ÒÆÁ¿Á½²¿·Ö¹¹³É¡£ÎïÀíµØÖ·ÓëϵͳÖеĴ洢

¿Õ¼äÊÇÒ»Ò»¶ÔÓ¦µÄ¡£

Âß¼­µØÖ·ÓëÎïÀíµØÖ·Á½ÕßÖ®¼äµÄ¹ØÏµÎª£ºÎïÀíµØÖ·£½¶ÎµØÖ·¡Á16+Æ«ÒÆµØÖ· ÿ¸öÂß¼­¶ÎµÄµØÖ··¶Î§£º0000£º0000H¡«FFFFH£»0001£º0000H¡«FFFFH£»¡­£»

FFFF£º

0000H¡«FFFFH£»¹²ÓÐ232¸öµØÖ·£¬µ«ÆäÖÐÓÐÐí¶àµØÖ·ÊÇÖØµþµÄ£¨ÌåÏÖ³öÂß¼­µØÖ·µÄÓÅÊÆ£¬

¿É¸ù¾ÝÐèÒª·½±ãµØÐ´³öÂß¼­µØÖ·£¬ÓÖ²»Ó°ÏìÆä׼ȷµÄÎïÀíµØÖ·£¬Âß¼­µØÖ·ÓëÎïÀíµØÖ·µÄ¹ØÏµ

Ϊ¶à¶ÔÒ»µÄ¹ØÏµ£©¡£

ÎïÀíµØÖ·µÄµØÖ··¶Î§£º00000H¡«FFFFFH¡£

5£® ÒÑÖªµ±Ç°Êý¾Ý¶ÎλÓÚ´æ´¢Æ÷µÄA1000H µ½B0FFFH ·¶Î§ÄÚ£¬ÎÊDS=£¿ ½â´ð£º

A1000H¡úA100£º0000 ÒÔA100H Ϊ¶ÎµØÖ·µÄ64K ÎïÀíµØÖ·µÄ·¶Î§ÊÇ£ºÆ«ÒƵØÖ·Îª

0000H¡«FFFFH£¬¼´A100£º0000H¡«A100£ºFFFFH¡úA1000H£«0000H¡«A1000H£«0FFFFH

£½A1000H¡«B0FFFH£¬¡àDS£½A100H¡£

6£® ij³ÌÐòÊý¾Ý¶ÎÖдæÓÐÁ½¸ö×ÖÊý¾Ý1234H ºÍ5A6BH£¬ÈôÒÑÖªDS=5AA0H£¬ËüÃÇµÄÆ«ÒƵØ

Ö··Ö±ðΪ245AH ºÍ3245H£¬ÊÔ»­³öËüÃÇÔÚ´æ´¢Æ÷ÖеĴæ·ÅÇé¿ö ½â´ð£º

´æ·ÅÇé¿öÈçͼËùʾ(×óÓÒÁ½²àµÄд·¨¾ù¿É)£º 5AA0£º 0000H 5AA0£º 245AH 5AA0£º 245BH 5AA0£º 3245H 5AA0£º 3246H ¡¤¡¤¡¤ ¡¤¡¤¡¤ ¡¤¡¤¡¤ 34H 12H 6BH 5AH 5AA00H 5CE5AH 5CE5BH 5DC45H 5DC46H ¡¤¡¤¡¤ ¡¤¡¤¡¤ ¡¤¡¤¡¤

7£® 8086/8088CPU ÓÐÄÄÁ½ÖÖ¹¤×÷ģʽ£¬ËüÃǸ÷ÓÐÊ²Ã´ÌØµã£¿

½â´ð£ºÎªÁËÊÊÓ¦¸÷ÖÖ²»Í¬µÄÓ¦Óó¡ºÏ£¬8086/8088CPU оƬ¿É¹¤×÷ÔÚÁ½ÖÖ²»Í¬µÄ¹¤×÷ģʽÏ£¬

¼´×îСģʽÓë×î´óģʽ¡£

Ëùν×îСģʽ£¬¾ÍÊÇϵͳÖÐÖ»ÓÐÒ»¸ö8086/8088 ΢´¦ÀíÆ÷£¬ÔÚÕâÖÖÇé¿öÏ£¬ËùÓеÄ×Ü

Ïß¿ØÖÆÐźţ¬¶¼ÊÇÖ±½ÓÓÉÕâÆ¬8086/8088CPU ²úÉúµÄ£¬ÏµÍ³ÖеÄ×ÜÏß¿ØÖÆÂß¼­

µç·±»¼õµ½×î

ÉÙ¡£¸ÃģʽÊÊÓÃÓÚ¹æÄ£½ÏСµÄ΢»úÓ¦ÓÃϵͳ¡£

×î´óģʽÊÇÏà¶ÔÓÚ×îСģʽ¶øÑԵģ¬×î´óģʽÓÃÔÚÖС¢´ó¹æÄ£µÄ΢»úÓ¦ÓÃϵͳÖС£ÔÚ×î

´óģʽÏ£¬ÏµÍ³ÖÐÖÁÉÙ°üº¬Á½¸ö΢´¦ÀíÆ÷£¬ÆäÖÐÒ»¸öΪÖ÷´¦ÀíÆ÷£¬¼´8086/8088CPU£¬ÆäËü

µÄ΢´¦ÀíÆ÷³ÆÖ®ÎªÐ­´¦ÀíÆ÷£¬ËüÃÇÊÇЭÖúÖ÷´¦ÀíÆ÷¹¤×÷µÄ¡£

8£® Èô8086CPU ¹¤×÷ÓÚ×îСģʽ£¬ÊÔÖ¸³öµ±CPU Íê³É½«AH µÄÄÚÈÝË͵½ÎïÀíµØÖ·Îª91001H

µÄ´æ´¢µ¥Ôª²Ù×÷ʱ£¬ÒÔÏÂÄÄЩÐźÅӦΪµÍµçƽ£ºM/ IO¡¢RD ¡¢WR ¡¢BHE /S7¡¢DT/ R ¡£

ÈôCPU Íê³ÉµÄÊǽ«ÎïÀíµØÖ·91000H µ¥ÔªµÄÄÚÈÝË͵½AL ÖУ¬ÔòÉÏÊöÄÄЩÐźÅӦΪµÍµç

ƽ¡£ÈôCPU Ϊ8088 ÄØ£¿ ½â´ð£º8086CPU

¢Ù´æ´¢Æ÷д(AH¡ú9100H[0001H])ʱΪµÍµçƽµÄÐźţºWR¡¢7 /S BHE ¡£ ¢Ú´æ´¢Æ÷¶Á(9100H[0000H]¡úAL)ʱΪµÍµçƽµÄÐźţºRD ¡¢R / DT ¡£ 8088CPU

¢Ù´æ´¢Æ÷д(AH¡ú9100H[0001H])ʱΪµÍµçƽµÄÐźţºWR¡¢) /S BHE ( SS 7 0 ¡¢M/ IO¡£

¢Ú´æ´¢Æ÷¶Á(9100H[0000H]¡úAL)ʱΪµÍµçƽµÄÐźţºM/ IO¡¢RD ¡¢R / DT ¡£ 9£® ʲôÊÇÖ¸ÁîÖÜÆÚ£¿Ê²Ã´ÊÇ×ÜÏßÖÜÆÚ£¿Ê²Ã´ÊÇʱÖÓÖÜÆÚ£¿ËüÃÇÖ®¼äµÄ¹ØÏµÈçºÎ£¿

½â´ð£ºÖ¸ÁîÖÜÆÚ----CPU Ö´ÐÐÒ»ÌõÖ¸ÁîËùÐèÒªµÄʱ¼ä³ÆÎªÒ»¸öÖ¸ÁîÖÜÆÚ(Instruction Cycle)¡£

×ÜÏßÖÜÆÚ----ÿµ±CPU Òª´Ó´æ´¢Æ÷»òI/O ¶Ë¿Ú´æÈ¡Ò»¸ö×Ö½Ú³ÆÎªÒ»´Î×ÜÏß²Ù×÷£¬ÏàÓ¦

ÓÚij¸ö×ÜÏß²Ù×÷µÄʱ¼ä¼´ÎªÒ»¸ö×ÜÏßÖÜÆÚ(BUS Cycle)¡£

ʱÖÓÖÜÆÚ----ʱÖÓÖÜÆÚÊÇCPU ´¦Àí¶¯×÷µÄ×îСʱ¼äµ¥Î»£¬ÆäÖµµÈÓÚϵͳʱÖÓÆµÂʵĵ¹

Êý£¬Ê±ÖÓÖÜÆÚÓÖ³ÆÎªT ״̬¡£

ËüÃÇÖ®¼äµÄ¹ØÏµ£ºÈô¸É¸ö×ÜÏßÖÜÆÚ¹¹³ÉÒ»¸öÖ¸ÁîÖÜÆÚ£¬Ò»¸ö»ù±¾µÄ×ÜÏßÖÜÆÚÓÉ4 ¸öT×é

³É£¬ÎÒÃÇ·Ö±ð³ÆÎªT1¡«T4£¬ÔÚÿ¸öT״̬Ï£¬CPUÍê³É²»Í¬µÄ¶¯×÷¡£

10£® 8086/8088 CPU ÓÐÄÄЩ»ù±¾²Ù×÷£¿»ù±¾µÄ¶Á/д×ÜÏßÖÜÆÚ¸÷°üº¬¶àÉÙ¸öʱÖÓÖÜÆÚ£¿

ʲôÇé¿öÏÂÐèÒª²åÈëTw ÖÜÆÚ£¿Ó¦²åÈë¶àÉÙ¸öTw È¡¾öÓÚʲôÒòËØ£¿

½â´ð£º¢Ù8086/8088CPU ×îСģʽϵĵäÐÍʱÐòÓУº´æ´¢Æ÷¶Áд£»ÊäÈëÊä³ö£»ÖжÏÏìÓ¦£»Ïµ

ͳ¸´Î»¼°×ÜÏßÕ¼ÓòÙ×÷¡£

¢ÚÒ»¸ö»ù±¾µÄCPU ×ÜÏßÖÜÆÚÒ»°ã°üº¬Ëĸö״̬£¬¼´ËĸöʱÖÓÖÜÆÚ£» 4 3 2 1 T T T T ¡¢¡¢¡¢

¢ÛÔÚ´æ´¢Æ÷ºÍÍâÉèËٶȽÏÂýʱ£¬ÒªÔÚÖ®ºó²åÈë1 ¸ö»ò¼¸¸öµÈ´ý״̬£» 3 T w T ¢ÜÓ¦²åÈë¶àÉÙ¸öÈ¡¾öÓÚREADY ÐźŵÄ״̬£¬CPU ûÓÐÔÚ״̬µÄÒ»¿ªÊ¼²ÉÑùµ½

READY ÐźÅΪµÍµçƽ£¬¾Í»áÔÚºÍÖ®¼ä²åÈëµÈ´ý״̬£¬Ö±µ½²ÉÑùµ½READY ÐźÅΪ

¸ßµçƽ¡£ w T 3 T 3 T 4 T w T

11£® ÊÔ˵Ã÷8086/8088 ¹¤×÷ÔÚ×î´óºÍ×îСģʽÏÂϵͳ»ù±¾ÅäÖõIJîÒì¡£8086/8088 ΢»ú

ϵͳÖÐΪʲôһ¶¨ÒªÓеØÖ·Ëø´æÆ÷£¿ÐèÒªËø´æÄÄЩÐÅÏ¢£¿ ½â´ð£º×î´óģʽÅäÖúÍ×îСģʽÅäÖÃÓÐÒ»¸öÖ÷ÒªµÄ²î±ð£º¢Ù¾ÍÊÇÔÚ×î´óģʽÏ£¬ÐèÒªÓÃÍâ¼Ó

µç·À´¶ÔCPU ·¢³öµÄ¿ØÖÆÐźŽøÐб任ºÍ×éºÏ£¬ÒԵõ½¶Ô´æ´¢Æ÷ºÍI/O ¶Ë¿ÚµÄ¶Á/дÐźż°

¶ÔËø´æÆ÷£¨8282£©ºÍ¶Ô×ÜÏßÊÕ·¢Æ÷£¨8286£©µÈµÈµÄ¿ØÖÆÐźš£8288 ×ÜÏß¿ØÖÆÆ÷¾ÍÊÇÍê³ÉÉÏ

ÃæÕâЩ¹¦ÄܵÄרÓÃоƬ¡£¢ÚΪ¶àÖжÏÔ´µÄÐèÒª£¬³£²ÉÓÃÖжÏÓÅÏÈȨ¿ØÖƵç·£¨ÈçIntel8259A£©¡£

8086/8088 ϵͳһ¶¨ÒªÓеØÖ·Ëø´æÆ÷¨D¨DÒòΪ¸ßËÄλµØÖ·ºÍ״̬ÐźÅÊÇ´Óͬһ×éÒý½ÅÉÏ

·ÖʱËͳöµÄ£¬µÍ16 λµØÖ·ºÍÊý¾ÝÊÇ´Óͬһ×éÒý½ÅÉÏ·Öʱ´«ÊäµÄ£¬ËùÒÔ±ØÐë°ÑµØÖ·ÐÅÏ¢Ëø´æ ÆðÀ´¡£

ÐèÒªËø´æµÄÐÅÏ¢£ºµØÖ·Ðźš¢7 /S BHE ºÍM IO/ £¨8086 ΪIO M/ £©ÐźŽøÐÐËø´æ¡£

12£®ÊÔ¼òÊö8086/8088 ΢»úϵͳ×îСģʽÏ´ӴæÆ÷´¢¶ÁÊý¾ÝʱµÄʱÐò¹ý³Ì¡£ ½â´ð£ºÕý³£µÄ´æ´¢Æ÷¶Á×ÜÏß²Ù×÷Õ¼ÓÃ4 ¸öʱÖÓÖÜÆÚ£¬Í¨³£½«ËüÃdzÆÎª4 ¸öT״̬¼´T1¡« T4¡£

¢Ù T1״̬£¬IO/M=0£¬Ö¸³öÒª·ÃÎÊ´æ´¢Æ÷¡£Ë͵ØÖ·ÐźÅA19-0£¬µØÖ·Ëø´æÐźÅALEÓÐЧ£¬

ÓÃÀ´¿ØÖÆ8282 Ëø´æµØÖ·¡£DT/ R =0£¬¿ØÖÆ8286/8287 ¹¤×÷ÔÚ½ÓÊÕ״̬£¨¶Á£©¡£

¢Ú T2״̬£¬A19~A16ËÍ״̬S6 ~S3£¬AD7 ~AD0¸¡¿Õ£¬×¼±¸½ÓÊÕÊý¾Ý¡£Í¬Ê±£¬RD £½0£¬±í

ʾҪ½øÐжÁ²Ù×÷£¬¶øDEN =0 ×÷Ϊ8286/8287 µÄѡͨÐźţ¬ÔÊÐí½øÐÐÊý¾Ý´«Êä¡£

¢Û T3״̬£¬´ÓÖ¸¶¨µÄ´æ´¢µ¥Ôª½«Êý¾Ý¶Á³öËÍAD7 ~AD0¡£Èô´æ´¢Æ÷ËٶȽÏÂý£¬²»Äܼ°Ê±

¶Á³öÊý¾ÝµÄ»°£¬Ôòͨ¹ýREADYÒý½Å֪ͨCPU£¬CPUÔÚT3µÄÇ°ÑØ²ÉÑùREADY£¬Èç¹û

READY£½0£¬ÔòÔÚT3½áÊøºó×Ô¶¯²åÈë1 ¸ö»ò¼¸¸öµÈ´ý״̬TW£¬²¢ÔÚÿ¸öTWµÄÇ°ÑØ¼ì

²âREADY£¬µÈµ½READY±ä¸ßºó£¬¾Í×Ô¶¯ÍÑÀëTW½øÈëT4¡£

¢Ü T4״̬£¬CPU²ÉÑùÊý¾ÝÏߣ¬»ñµÃÊý¾Ý¡£RD ¡¢DEN µÈÐźÅʧЧ¡£ CH02 8086£¯8088 Ö¸Áîϵͳ ϰÌâÓë˼¿¼Ìâ

1£®¼Ù¶¨DS=2000H£¬ES=2100H£¬SS=1500H£¬SI=00A0H£¬BX=0100H£¬BP=0010H£¬Êý¾Ý±ä

Á¿VAL µÄÆ«ÒÆµØÖ·Îª0050H£¬ÇëÖ¸³öÏÂÁÐÖ¸ÁîÔ´²Ù×÷ÊýÊÇʲôѰַ·½Ê½£¿Ô´²Ù×÷ÊýÔÚÄÄ

ÀÈçÔÚ´æ´¢Æ÷ÖÐÇëд³öÆäÎïÀíµØÖ·ÊǶàÉÙ£¿ £¨1£©MOV AX£¬0ABH £¨2£©MOV AX£¬[100H] £¨3£©MOV AX£¬VAL £¨4£©MOV BX£¬[SI]

£¨5£©MOV AL£¬VAL[BX] £¨6£©MOV CL£¬[BX][SI] £¨7£©MOV VAL[SI]£¬BX £¨8£©MOV [BP][SI]£¬100 ½â´ð£º

£¨1£©MOV AX£¬0ABH

Ѱַ·½Ê½£ºÁ¢¼´Ñ°Ö·£»Ô´²Ù×÷ÊýÔÚÊý¾ÝÏßÉÏ£»ÎïÀíµØÖ·£ºÎÞ £¨2£©MOV AX£¬[100H]

Ѱַ·½Ê½£ºÖ±½ÓѰַ£»Ô´²Ù×÷ÊýÔÚ´æ´¢Æ÷ÖУ»ÎïÀíµØÖ·£ºDS£ª16+100H£½ 2000H*16+100H£½20100H £¨3£©MOV AX£¬VAL

Ѱַ·½Ê½£ºÖ±½ÓѰַ£»Ô´²Ù×÷ÊýÔÚ´æ´¢Æ÷ÖУ»ÎïÀíµØÖ·£ºDS£ª16+VAL£½ 2000H*16+0050H£½20050H £¨4£©MOV BX£¬[SI]

Ѱַ·½Ê½£º¼Ä´æÆ÷¼ä½ÓѰַ£»Ô´²Ù×÷ÊýÔÚ´æ´¢Æ÷ÖУ»ÎïÀíµØÖ·£ºDS£ª16+SI£½ 2000H*16+00A0H£½200A0H £¨5£©MOV AL£¬VAL[BX]

Ѱַ·½Ê½£º±äַѰַ£»Ô´²Ù×÷ÊýÔÚ´æ´¢Æ÷ÖУ»ÎïÀíµØÖ·£ºDS£ª16+VAL+BX£½ 2000H*16+0050H+0100 £½20150H

£¨6£©MOV CL£¬[BX][SI]

Ѱַ·½Ê½£º»ùÖ·¼Ó±äַѰַ£»Ô´²Ù×÷ÊýÔÚ´æ´¢Æ÷ÖУ»ÎïÀíµØÖ·£ºDS£ª16+BX+SI£½

2000H*16+0100H+00A0H £½201A0H

£¨7£©MOV VAL[SI]£¬BX

Ѱַ·½Ê½£º¼Ä´æÆ÷Ѱַ£»Ô´²Ù×÷ÊýÔڼĴæÆ÷ÖУ»ÎïÀíµØÖ·£ºÎÞ £¨8£©MOV [BP][SI]£¬100

Ѱַ·½Ê½£ºÁ¢¼´Ñ°Ö·£»Ô´²Ù×÷ÊýÔÚ£»ÎïÀíµØÖ·£ºÎÞ

2£®ÉèÓйؼĴæÆ÷¼°´æ´¢µ¥ÔªµÄÄÚÈÝÈçÏ£º DS=2000H £¬ BX=0100H £¬ AX=1200H £¬ SI=0002H £¬ [20100H]=12H £¬ [20101H]=34H £¬

[20102H]=56H £¬ [20103]=78H £¬ [21200]=2AH £¬ [21201H]=4CH £¬ [21202H]=0B7H £¬ [21203H]=65H¡£

ÊÔ˵Ã÷ÏÂÁи÷ÌõÖ¸Áîµ¥¶ÀÖ´ÐкóÏà¹Ø¼Ä´æÆ÷»ò´æ´¢µ¥ÔªµÄÄÚÈÝ¡£ £¨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£© MOV AX£¬1800H AX£½1800H £¨2£© MOV AX£¬BX AX£½0100H

£¨3£© MOV BX£¬[1200H] BX£½4C2AH £¨4£© MOV DX£¬1100[BX] DX£½4C2AH £¨5£© MOV [BX][SI]£¬AL [20102H]£½00H £¨6£© MOV AX£¬1100[BX][SI] AX£½65B7H

3£®¼Ù¶¨BX=0E3H£¬±äÁ¿VALUE=79H£¬È·¶¨ÏÂÁÐÖ¸ÁîÖ´ÐкóµÄ½á¹û(²Ù×÷Êý¾ùΪÎÞ·ûºÅÊý¡£

¶Ô3¡¢6£¬Ð´³öÏàÓ¦±ê־λµÄ״̬)¡£

£¨1£©ADD VALUE£¬BX £¨2£©AND BX£¬VALUE £¨3£©CMP BX£¬VALUE £¨4£©XOR BX£¬0FFH £¨5£©DEC BX £¨6£©TEST BX£¬01H ½â´ð£º

ÌâºÅÖ¸ÁîÖ´Ðнá¹û

£¨1£© ADD VALUE£¬BX BX£½015CH £¨2£© AND BX£¬VALUE BX£½0061H

£¨3£© CMP BX£¬VALUE BX£½00E3H(CF=ZF=OF=SF=0£¬AF=PF=1) £¨4£© XOR BX£¬0FFH BX£½001CH £¨5£© DEC BX BX£½00E2H

£¨6£© TEST BX£¬01H BX£½00E3H(CF=ZF=OF=SF=AF=PF=0)

4£®ÒÑÖªSS=0FFA0H£¬SP=00B0H£¬ÏÈÖ´ÐÐÁ½Ìõ°Ñ8057H ºÍ0F79H ·Ö±ð½øÕ»µÄPUSH Ö¸Á

ÔÙÖ´ÐÐÒ»ÌõPOP Ö¸ÁÊÔ»­³ö¶ÑÕ»ÇøºÍSP ÄÚÈݱ仯µÄ¹ý³ÌʾÒâͼ¡££¨±ê³ö´æ´¢µ¥ÔªµÄµØ Ö·£©

½â´ð£º 00ADH 00AEH 00AFH

0FFA0£º 00B0H ¡¤¡¤¡¤

FFAACH FFAADH FFAAEH FFAAFH FFAB0H ¡¤¡¤¡¤ 00ACH X

FFAABH 00ADH 00AEH 00AFH

0FFA0£º 00B0H ¡¤¡¤¡¤ 57H

80H FFAACH FFAADH FFAAEH FFAAFH FFAB0H ¡¤¡¤¡¤ 00ACH X

FFAABH

¢Ù³õʼ״̬£»SP£½ 00B0H ¢Ú PUSH AX£» £¨ AX£½ 8057H£© SP£½ 00AEH 00ADH 00AEH 00AFH

0FFA0£º 00B0H ¡¤¡¤¡¤ 79H 0FH 57H 80H FFAACH FFAADH FFAAEH FFAAFH FFAB0H ¡¤¡¤¡¤ 00ACH X

FFAABH 00ADH 00AEH 00AFH

0FFA0£º 00B0H ¡¤¡¤¡¤ 57H 80H FFAACH FFAADH FFAAEH FFAAFH FFAB0H ¡¤¡¤¡¤ 00ACH X

FFAABH

¢Û PUSH BX£» £¨ BX£½ 0F79H£© SP£½ 00ACH ¢Ü POP BX£» SP£½ 00AEH ¶ÑÕ»¶ÎSS£½0FFA0H ¶ÑÕ»¶ÎSS£½0FFA0H

¶ÑÕ»¶ÎSS£½0FFA0H ¶ÑÕ»¶ÎSS£½0FFA0H 5£®ÒÑÖª³ÌÐò¶ÎÈçÏ£º MOV AX£¬1234H MOV CL£¬4 ROL AX£¬CL DEC AX MOV CX£¬4 MUL CX

ÊÔÎÊ£º£¨1£©Ã¿ÌõÖ¸ÁîÖ´Ðкó£¬AX ¼Ä´æÆ÷µÄÄÚÈÝÊÇʲô£¿£¨2£©Ã¿ÌõÖ¸ÁîÖ´Ðкó£¬CF£¬SF ¼°

ZF µÄÖµ·Ö±ðÊÇʲô£¿£¨3£©³ÌÐòÔËÐнáÊøÊ±£¬AX ¼°DX ¼Ä´æÆ÷µÄֵΪ¶àÉÙ£¿ Ö¸ÁîÖ´Ðнá¹û AX CF SF ZF

MOV AX£¬1234H AX£½1234H ¡Á ¡Á ¡Á MOV CL£¬4 AX£½1234H ¡Á ¡Á ¡Á ROL AX£¬CL AX£½2341H 1 0 0 DEC AX AX£½2340H 1 0 0 MOV CX£¬4 AX£½2340H 1 0 0

MUL CX AX£½8D00H£¬DX=0000H 0 0 0

6£®Ð´³öʵÏÖÏÂÁмÆËãµÄÖ¸ÁîÐòÁС££¨¼Ù¶¨X¡¢Y¡¢Z¡¢W¡¢R ¶¼Îª×Ö±äÁ¿£© £¨1£©Z=W+£¨Z+X£© £¨2£©Z=W-£¨X+6£©-£¨R+9£©

£¨3£©Z=£¨W*X£©/£¨R+6£© £¨4£©Z=£¨£¨W-X£©/5*Y£©*2 ½â´ð£º£¨1£©Z=W+£¨Z+X£© ÌâºÅÖ¸ÁîÌâºÅÖ¸Áî

£¨1£© Z=W+£¨Z+X£© £¨2£© Z=W-£¨X+6£©-£¨R+9£© MOV AX£¬Z MOV DX£¬R MOV BX£¬X ADD DX£¬9 MOV CX£¬W MOV BX£¬X ADD BX ADD BX£¬6 ADC CX MOV AX£¬W MOV Z£¬AX SUB AX£¬BX SUB AX£¬DX MOV Z£¬AX

£¨3£© Z=£¨W*X£©/£¨R+6£© £¨4£© Z=£¨£¨W-X£©/5*Y£©*2 MOV DX£¬0 MOV AX£¬W MOV AX£¬W MOV BX£¬X MOV BX£¬X SUB AX£¬BX MUL BX MOV DX£¬0 PUSH AX MOV CL£¬5 MOV AX£¬R DIV CL ADD AX£¬6 MOV BX£¬Y MOV CX£¬AX MUL BX POP AX MOV CL£¬2 DIV CX MUL CL

MOV Z£¬AX MOV Z£¬AX

MOV Z+1£¬DX MOV Z+1£¬DX

7£®¼Ù¶¨DX=1100100110111001B£¬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£© SHR DX£¬1 DX=0110 0100 1101 1100(64DCH) £¨2£© SHL DL£¬1 DX=1100 1001 0111 0010(C972H)

£¨3£© SAL DH£¬1 DX=1001 0010 1011 1001(92B9H) £¨4£© SAR DX£¬CL DX=1111 1001 0011 0111(F937H) £¨5£© ROR DX£¬CL DX=0011 1001 0011 0111(3937H) £¨6£© ROL DL£¬CL DX=1100 1001 1100 1101(C9CDH) £¨7£© RCR DL£¬1 DX=1100 1001 1101 1100(C9DCH) £¨8£© RCL DX£¬CL DX=0100 1101 1100 1011(4DCFH)

8£®ÒÑÖªDX=1234H£¬AX=5678H£¬ÊÔ·ÖÎöÏÂÁгÌÐòÖ´ÐкóDX¡¢AX µÄÖµ¸÷ÊÇʲô£¿¸Ã³ÌÐò

Íê³ÉÁËʲô¹¦ÄÜ£¿ MOV CL£¬4 SHL DX£¬CL MOV BL£¬AH SHL BL£¬CL SHR BL£¬CL OR DL£¬BL

½â´ð£ºDX=2345H£¬AX=6780H¡£¸Ã³ÌÐòÍê³ÉµÄ¹¦ÄÜÈçͼËùʾ£¬½«DX£¬AXÆ´×°³ÉË«×Öºó£¬ ×óÒÆËÄλ¡£ DX DX AX 1 2 3 4 5 6 7 8 DX AX 2 3 4 0 6 7 8 0

2 3 4 5 6 7 8 0 AX

9£®ÊÔ·ÖÎöÏÂÁгÌÐò¶Î£º ADD AX£¬BX JNC L2

SUB AX£¬BX JNC L3

JMP SHORTL5

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

£¨1£©14C6H 80DCH £¨2£©B568H 54B7H

ÎʸóÌÐòÔÚÉÏÊöÇé¿öÏÂÖ´Ðк󣬳ÌÐòתÏòºÎ´¦£¿

½â´ð£º£¨1£©AX£½AX+BX£½14C6H+80DCH£½95A2H£»CF£½0£»ÎÞ½øÎ»£¬×ªÒÆÖÁL2£»

£¨2£©AX£½AX+BX£½B568H+54B7H£½0A1FH£»CF£½1£»ÓнøÎ»£¬¼ÌÐøÖ´ÐУ» AX£½AX-BX£½0A1FH+54B7H£½B568H£»CF£½1£»Óнè룬¼ÌÐøÖ´ÐУ» ÎÞÌõ¼þ×ªÒÆÖÁSHORTL5

10£®±àдһ¶Î³ÌÐò£¬±È½ÏÁ½¸ö5 ×Ö½ÚµÄ×Ö·û´®OLDS ºÍNEWS£¬Èç¹ûOLDS ×Ö·û´®²»Í¬ÓÚ

NEWS ×Ö·û´®£¬ÔòÖ´ÐÐNEW_LESS£¬·ñÔò˳ÐòÖ´ÐС£½â´ð£º±à³ÌÈçÏ£¬£¨ËµÃ÷£º×ó²â³ÌÐòΪ³£¹æ±à·¨£¬Á½¸ö×Ö·û´®ÔÚÒ»¸öÊý¾Ý¶ÎÖУ»ÓÒ²âµÄ³ÌÐò

ÒªÇóOLDSÔÚÊý¾Ý¶ÎÖУ¬NEWSÔÚ¸½¼Ó¶ÎÖУ¬ÀûÓô®²Ù×÷µÄÖ¸ÁîÊÇ¿ÉÐеģ© LEA SI£¬OLDS£» LEA SI£¬OLDS LEA DI£¬NEWS£» LEA DI£¬NEWS MOV CX£¬5£» MOV CX£¬5 NEXT£º MOV AL£¬[SI]£» CLD MOV BL£¬[DI]£» REPE CMPSB CMP AL£¬BL£» JNZ NEW_LESS JNZ NEW_LESS£» ¡­¡­ INC SI£» JMP EXIT INC DI£» NEW_LESS£º LOOP NEXT£» ¡­¡­ ¡­¡­ EXIT£º ¡­¡­ JMP EXIT NEW_LESS£º ¡­¡­

EXIT£º ¡­¡­

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

ÓÐXLAT Ö¸ÁîµÄÖ¸ÁîÐòÁвéÕÒN£¨0~15£©µÄƽ·½¡££¨ÉèN µÄÖµ´æ·ÅÔÚCL ÖУ© ½â´ð£º

MOV BX£¬OFFSET TABLE£»LEA BX£¬TABLE MOV CL£¬N MOV AL£¬CL XLAT

12£®ÓÐÁ½¸öË«×ÖÊý¾Ý´®·Ö±ð´æ·ÅÔÚASC1 ºÍASC2 ÖУ¨µÍ×ַŵ͵ØÖ·£©£¬ÇóËüÃǵIJ½á¹û

·ÅÔÚASC3 ÖУ¨µÍ×ַŵ͵ØÖ·£©¡£ ASC1 DW 578£¬400 ASC2 DW 694£¬12 ASC3 DW £¿£¬£¿ ½â´ð£º±à³ÌÈçÏ£¬

LEA SI£¬ASC1 LEA DI£¬ASC2 LEA BX£¬ASC3 MOV CX£¬2 CLC

NEXT£º MOV AX£¬[SI] MOV DX£¬[DI] SBB AX£¬DX MOV [BX]£¬AX INC SI INC SI INC DI

INC DI INC BX INC BX

LOOP NEXT

CH03 »ã±àÓïÑÔ³ÌÐòÉè¼Æ ϰÌâÓë˼¿¼Ìâ

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£º20£»VAR4£º12¡£ ´æ´¢¿Õ¼äµÄ·ÖÅäͼ£º

DS£º0000 0A 02 00 00 00 00 00 00¡ª00 00 00 00 00 00 48 4F 0010 57 20 20 41 52 45 20 20¡ª59 4F 55 3F 01 02 01 02 0020 01 02 FF FF FF FF 01 00¡ª00 00 00 00 00 00

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

£¨1£©ADD VAR1£¬VAR2 £¨2£©SUB AL£¬VAR1 £¨3£©JMP LAB[CX] £¨4£©JNZ VAR1

£¨5£© MOV [1000H]£¬100 £¨6£©SHL AL£¬ 4 ½â´ð£º(1)Á½¸ö²Ù×÷ÊýÖÐÖÁÉÙÓÐÒ»¸öΪ¼Ä´æÆ÷£» (2)AL Ϊ×Ö½Ú£¬VAR1 Ϊ×Ö±äÁ¿£¬²»Æ¥Å䣻 (3)[]Öв»ÄÜÓÃCX£¬LAB Ϊ±êºÅ£¬·Ç±äÁ¿£» (4)תÏòµØÖ·Ó¦Îª±êºÅ£¬²»ÄÜÊDZäÁ¿£» (5)Ä¿µÄ²Ù×÷ÊýµÄÀàÐͲ»È·¶¨£»

(6)SHL Ö¸ÁîÖУ¬µ±ËùÒÆÎ»Êý³¬¹ý1 ʱ£¬±ØÐëÓÃCL »òCX À´È¡´úËùÒÆÎ»Êý¡£ 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 䶨Ò壬ÎÞ·¨×ö±È½ÏÖ¸Á

(4)K1 ÖØÐ¸³ÖµÇ°£¬±ØÐëÓÃPURGE ÊÍ·Å¡£ 4£®Êý¾Ý¶¨ÒåÓï¾äÈçÏÂËùʾ:

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

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

THIRD ¿ªÊ¼µÄµ¥Ôª¡£(×¢Òâ±£ÁôÒÆ³ö²¿·Ö) ½â´ð£º DATA SEGMENT

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

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£¬[SI]£»AX=5F90H ΪµÍÊ®ÁùλÊý¾Ý INC SI INC SI

MOV DX£¬[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 [DI] £¬AX MOV [DI+2] £¬DX £»ÓÒÒÆ2 λ LEA SI£¬FIRST LEA DI£¬THIRD MOV CX£¬2 CLC

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

MOV DX£¬[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 [DI+1] £¬AX MOV [DI+3] £¬DX MOV AH£¬4CH INT 21H CODE ENDS END START

5£®£¨14£©ÔÚµ±Ç°Êý¾ÝÇø´Ó400H ¿ªÊ¼µÄ256 ¸öµ¥ÔªÖдæ·Å×ÅÒ»×éÊý¾Ý£¬ÊÔ±à³ÌÐò½«ËüÃÇ˳Ðò

°áÒÆµ½´ÓA000H ¿ªÊ¼µÄ˳Ðò256 ¸öµ¥ÔªÖС£ ½â´ð£º

DATA SEGMENT ORG 400H

DAT1 DB ...;256 DUP (?) ORG 0A000H

DAT2 DB ...;256 DUP (?) DATA ENDS

;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX ;CH3-14

LEA SI,DAT1 LEA DI,DAT2 MOV CX,128

AGAIN: MOV AL,[SI] MOV [DI],AL INC SI INC DI

LOOP AGAIN

;CH3-15,½«Á½¸öÊý¾Ý¿éÖð¸öµ¥Ôª½øÐбȽϣ¬ÈôÓдíBL=00H£¬·ñÔòBL=FFH LEA SI,DAT1 LEA DI,DAT2 MOV CX,128

NEXT: MOV AL,[SI] MOV BL,[DI] CMP AL,BL JNZ ERROR INC SI INC DI

LOOP NEXT MOV BL,0FFH JMP EXIT

ERROR: MOV BL,00H EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

6£®ÊÔ±à³ÌÐò½«µ±Ç°Êý¾ÝÇø´ÓBUFF ¿ªÊ¼µÄ4K ¸öµ¥ÔªÖоùдÈë55H£¬²¢Öð¸öµ¥Ôª¶Á³ö±È½Ï£¬

¿´Ð´ÈëµÄÓë¶Á³öµÄÊÇ·ñÒ»Ö¡£ÈôÈ«¶Ô£¬Ôò½«ERR µ¥ÔªÖÃ0H£»Èç¹ûÓÐ´í£¬Ôò½«ERR µ¥Ôª ÖÃFFH¡£ ½â´ð£º

DATA SEGMENT

BUFF DB 1000H DUP(?) ERR DB ? DATA ENDS ;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA MOV DS,AX

;½«55H ÒÀ´Î·ÅÈëBUFF ¿ªÊ¼µÄ4K ¸öµ¥Ôª LEA SI,BUFF

MOV CX,1000H MOV AL,55H NTXT: MOV [SI],AL INC SI

LOOP NEXT

;È¡³öÓë55H ±È½Ï£¬È«¶ÔÔòERR=0£¬·ñÔòERR=FFH LEA DI,BUFF LEA SI,ERR MOV CX,1000H

NEXT1: MOV AL,[DI] INC DI

CMP AL,55H

JNZ ERROR£»ÈôÓÐÒ»¸ö²»Í¬£¬¼´ÖÃERR=FFH LOOP NEXT1 MOV AL,00H

MOV [SI],AL£»È«±È½ÏÍêÎÞ´í£¬ÔòÖÃERR=0 JMP EXIT

ERROR: MOV AL,0FFH MOV [SI],AL ;·µ»ØDOS

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

7£®ÔÚÉÏÌâÖУ¬Èç¹û·¢ÏÖÓдíʱ£¬ÒªÇóÔÚERR µ¥ÔªÖдæ·Å³ö´íµÄÊý¾Ý¸öÊý£¬Ôò³ÌÐò¸ÃÈçºÎÐÞ ¸Ä£¿ ½â´ð£º

DATA SEGMENT

BUFF DB 1000H DUP(?) ERR DW ? DATA ENDS ;

CODE SEGMENT

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

;½«55H ÒÀ´Î·ÅÈëBUFF ¿ªÊ¼µÄ4K ¸öµ¥Ôª LEA SI,BUFF MOV CX,1000H MOV AL,55H

NTXT: MOV [SI],AL INC SI

LOOP NEXT

;È¡³öÓë55H ±È½ÏLEA DI,BUFF LEA SI,ERR MOV DX,0000H MOV CX,1000H

NEXT1: MOV AL,[DI] INC DI

CMP AL,55H

JZ NEXT2£»ÈôÏàͬ£¬Ôò±È½ÏÏÂÒ»¸ö

INC DX£»·ñÔò½«·Å³ö´í¸öÊýµÄDX ¼Ó1 NEXT2£º LOOP NEXT1 MOV [SI],DX ;

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

8£®ÊÔ±àд³ÌÐò¶Î£¬Íê³É½«Êý¾ÝÇø´Ó0100H ¿ªÊ¼µÄÒ»´®×Ö½ÚÊý¾ÝÖð¸ö´ÓF0H ¶Ë¿ÚÊä³ö£¬ÒÑÖª

Êý¾Ý´®ÒÔ0AH Ϊ½áÊø·û¡£ ½â´ð£º

DATA SEGMENT ORG 0100H

DATA1 DB N DUP(?) DATA ENDS ;

CODE SEGMENT

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

;½«DATA1 Êý¾Ý´®ÖеÄÊý¾ÝÈ¡³ö²¢´ÓF0H ¶Ë¿ÚÖÐÊä³ö LEA SI,DATA1 MOV CX,N MOV BL,0AH

NTXT: MOV AL,[SI] CMP AL,BL JZ EXIT

OUT 0F0H,AL INC SI

LOOP NEXT ;·µ»ØDOS

EXIT: MOV AH,4CH INT 21H

CODE ENDS END START END

9£®(24)ÄÚ´æÖÐÒÔFIRST ºÍSECOND ¿ªÊ¼µÄµ¥ÔªÖÐ·Ö±ð´æ·Å×ÅÁ½¸ö4 λÓÃѹ

ËõBCD Âë±íʾ

µÄÊ®½øÖÆÊý, µÍλÔÚǰ¡£±à³ÌÐòÇóÕâÁ½¸öÊýµÄºÍ£¬ÈÔÓÃѹËõBCD Âë±íʾ, ²¢´æµ½ÒÔTHIRD ¿ªÊ¼µÄµ¥Ôª¡£ ½â´ð£º

DATA SEGMENT FIRST DW 3412H SECOND DW 7856H THIRD DB ?,?,? DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,FIRST LEA DI,SECOND LEA BX,THIRD MOV CX,2 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

MOV BYTE PTR[BX],0 JMP EXIT

AA: MOV BYTE PTR[BX],1 EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

10£®(27)Éè×Ö±äÁ¿µ¥ÔªA¡¢B¡¢C ´æ·ÅÓÐÈý¸öÊý£¬ÈôÈý¸öÊý¶¼²»ÎªÁ㣬ÔòÇóÈý¸öÊýµÄºÍ£¬´æ

·ÅÔÚD ÖУ»ÈôÓÐÒ»¸öΪÁ㣬Ôò½«ÆäÓàÁ½¸öÒ²ÇåÁ㣬ÊÔ±àд³ÌÐò¡£ ½â´ð£º

DATA SEGMENT A DB ? B DB ?

C DB ? D DW ? DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,A LEA DI,D MOV AL,[SI] CMP AL,00 JZ ZERO ADC DX,AL LEA SI,B MOV AL,[SI] CMP AL,00 JZ ZERO ADC DX,AL LEA SI,C MOV AL,[SI] CMP AL,00 JZ ZERO ADC DX,AL MOV [DI],DX JMP EXIT

ZERO: MOV AL,0 MOV A,AL MOV B,AL MOV C,AL ;

EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

11£®(16)ÊÔ±à³ÌÐò£¬Í³¼ÆÓÉTABLE ¿ªÊ¼µÄ128 ¸öµ¥ÔªÖÐËù´æ·ÅµÄ×Ö·û¡°A¡±µÄ¸öÊý£¬²¢½«½á

¹û´æ·ÅÔÚDX ÖС£ ½â´ð£º

DATA SEGMENT

TABLE DB X1,X2,...X128 DATA ENDS ;

STACK SEGMENT STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,TABLE MOV DX,0 MOV CX,128

AGAIN: MOV AL,[SI] CMP AL,'A' JNZ NEXT INC DX

NEXT: INC SI LOOP AGAIN MOV AX,4C00H INT 21H CODE ENDS END START

12£®ÊÔ±àÖÆÒ»¸ö»ã±àÓïÑÔ³ÌÐò£¬Çó³öÊ×µØÖ·ÎªDATA µÄ1000 ¸ö×ÖÊý×éÖеÄ×îСżÊý£¬²¢°Ñ

Ëü´æ·ÅÓÚMIN µ¥ÔªÖС£ ½â´ð£º

DATA SEGMENT

ARRAY DW X1,X2,...X1000

ARRAY_EVEN DW 1000 DUP(?) MIN DW ? MAX DW ? DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

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

;½«Êý×éÖеÄżÊý·ÅÈëARRAY_EVEN ÖÐ LEA SI,ARRAY

LEA DI,ARRAY_EVEN MOV CX,1000

AGAIN: MOV AX,[SI] TEST AX,01h JNZ NEXT MOV [DI],AX INC DI INC DI

NEXT: INC SI INC SI

LOOP AGAIN

;ÕÒ³öARRAY_EVEN ÖеÄ×î´óÊý LEA SI,ARRAY_EVEN MOV CX,999 MOV AX,[SI] MOV BX,AX INC SI INC SI

NEXT: CMP AX,[SI] JAE LL

MOV AX,[SI] LL: INC SI INC SI

LOOP NEXT MOV MAX,AX

;ÕÒ³öARRAY_EVEN ÖеÄ×îСÊý(µÚ13 ÌâÔö¼ÓµÄ²¿·Ö) LEA SI,ARRAY_EVEN MOV CX,999 MOV AX,[SI]

MOV BX,AX INC SI INC SI

NEXT: CMP AX,[SI] JBE SS

MOV AX,[SI] SS: INC SI INC SI

LOOP NEXT MOV MIN,AX ;·µ»ØDOS

MOV AX,4C00H INT 21H CODE ENDS END START

13£®ÔÚÉÏÌâÖУ¬Èç¹ûÒªÇóͬʱÕÒ³ö×î´óºÍ×îСµÄżÊý£¬²¢°ÑËüÃÇ·Ö±ð´æ·ÅÓÚMAX ºÍMIN

µ¥ÔªÖУ¬ÊÔÍê³É³ÌÐò¡£ ½â´ð£ºÂÔ£¨¼ûµÚ12 Ì⣩¡£

14£®(28)ÔÚDATA ×ÖÊý×éÖдæ·ÅÓÐ100H ¸ö16 λ²¹ÂëÊý£¬ÊÔ±àдһ³ÌÐòÇóËüÃÇµÄÆ½¾ùÖµ£¬·Å

ÔÚAX ÖУ¬²¢Çó³öÊý×éÖÐÓжàÉÙ¸öÊýСÓÚÆ½¾ùÖµ£¬½«½á¹û´æÓÚBX ÖС£ ½â´ð£º

DATA SEGMENT

DAT DW X1,X2,...X256 DATA ENDS ;

STACK SEGMENT STACK ENDS

;

CODE SEGMENT

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

;½«Êý×éÖеÄ100H ¸öÊýÇóºÍºóÇ󯽾ùÖµ LEA SI,DAT MOV CX,100H CLC

MOV BX,0000 MOV DX,0000

AGAIN: MOV AX,[SI] ADD BX,AX JNC NEXT

ADC DX,1 NEXT: INC SI INC SI

LOOP AGAIN MOV CX,100H MOV AX,BX DIV CX

;ÕÒ³öDAT ÖеÄСÓÚÆ½¾ùÖµµÄ¸öÊý LEA SI,DAT MOV CX,100H MOV DX,0000H

AGAIN0:MOV BX,[SI]

CMP BX,AX£»ÓëÆ½¾ùÖµAX ±È½Ï£¬´óÓÚµÈÓÚÔòתNEXT0£¬·ñÔò½«¶ÁÊýÆ÷DX ¼Ó1

JGE NEXT0 INC DX

NEXT0: INC SI INC SI

LOOP AGAIN0 MOV BX,DX ;·µ»ØDOS

MOV AX,4C00H INT 21H CODE ENDS END START

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

DATA SEGMENT COUNT EQU 7 DATA ENDS ;

STACK SEGMENT STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX PUSH AX MOV DX,0

MOV CX,COUNT AGAIN: RCR AL,1 JNC L INC DX L: LOOP AGAIN POP AX TEST DX,01 JZ EXIT OR AL,80

EXIT: MOV AX,4C00H INT 21H

;ANOTHER METHORD JP EXIT OR AL,80H

EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

16£®(18)ÀûÓÃÉÏÌâµÄÓè³ÌÐò£¬¶ÔDATA ¿ªÊ¼µÄ256 ¸öµ¥ÔªµÄÊý¾Ý¼ÓÉÏżУÑ飬ÊÔ±à³ÌÐò¡£ ½â´ð£º

DATA SEGMENT

DAT DB ...;256 DUP (?) RESULT DB ...;256 DUP (?) NUM EQU 256 COUNT EQU 7 DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DAT LEA DI,RESULT MOV CX,NUM

NEXT: MOV AL,[SI] CALL SUB1

MOV [DI],AL;MOV [SI],AL INC SI

INC DI

LOOP NEXT MOV AX,4C00H INT 21H SUB1 PROC PUSH AX MOV DX,0

MOV CX,COUNT AGAIN: RCR AL,1 JNC L INC DX

L: LOOP AGAIN POP AX TEST DX,01 JZ QUIT OR AL,80H QUIT: RET SUB1 ENDP CODE ENDS END START

17£®(19)ÊÔ±àд³ÌÐòʵÏÖ½«¼üÅÌÊäÈëµÄСд×Öĸת»»³É´óд×Öĸ²¢Êä³ö¡£ ½â´ð£º

DATA SEGMENT

MESS DB 'THE INPUT IS NOT CORRECT.',0DH,0AH,'$' DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

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

NEXT: MOV AH,01H INT 21H CMP AL,'Q' JZ EXIT

CMP AL,'a' JB ERROR CMP AL,'z' JA ERROR SUB AL,20H MOV AH,02H MOV DL,AL INT 21H JMP NEXT

ERROR: MOV AH,09H LEA DX,MESS INT 21H

JMP NEXT

EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

18£®´Ó¼üÅ̽ÓÊÕ20 ¸ö×Ö·û£¬°´¼üÈë˳Ðò²éÕÒ×î´óµÄ×Ö·û£¬²¢ÏÔʾÊä³ö¡£ ½â´ð£º

DATA SEGMENT DAT DB 20 DUP(?) DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

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

;´Ó¼üÅ̽ÓÊÕ20 ¸ö×Ö·û£¬²¢ËÍDAT Öб£´æ LEA SI,DAT MOV CX,20

NEXT: MOV AH,01H INT 21H MOV [SI],AL INC SI

LOOP NEXT

;±È½Ï20 ¸ö×Ö·ûÖеÄ×î´ó×Ö·û£¬²¢·ÅÈëAL ÖÐ MOV CX,19

LEA SI,DAT MOV AL,[SI] INC SI

NEXT1: CMP AL,[SI] JAE LL

MOV AL,[SI] LL: INC SI LOOP NEXT1

;½«×î´óµÄ×Ö·ûµÄASCII ÂëÓÉAL ËÍDL ÏÔʾ MOV DL,AL MOV AH,2H INT 21H ;·µ»ØDOS

MOV AX,4C00H INT 21H CODE ENDS END START

19£®(29)±àд»ã±à³ÌÐò£¬½ÓÊÕ´Ó¼üÅÌÊäÈëµÄ10 ¸öÊý£¬ÊäÈë»Ø³µ·û±íʾ½áÊø£¬È»ºó½«ÕâЩÊý

¼ÓÃܺó´æÓÚBUFF »º³åÇøÖС£¼ÓÃܱíΪ£º

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

DATA SEGMENT BUFF DB 10 DUP(?)

TABLE DB 7,5,9,1,3,6,8,0,2,4 DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX ;

LEA DI,BUFF

NEXT: MOV AH,01H

INT 21H£»´Ó¼üÅÌÉϽÓÊÕµ¥¸ö×Ö·û

CMP AL,0AH£»Óë0AH ±È£¬ÅÐÊÇ·ñÒª½áÊø JZ EXIT

SUB AL,30H£»·ñÔò£¬½«0~9 µÄASCII Âëת»»ÎªÊ®½øÖÆÊý LEA BX,TABLE

XLAT£»Óòé±íÖ¸Áî½øÐмÓÃÜ MOV [DI],AL INC DI JMP NEXT

;Í˳ö²¢·µ»ØDOS EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

20£®(23)ÓÐÒ»¸ö100 ¸ö×Ö½ÚµÄÊý¾Ý±í£¬±íÄÚÔªËØÒѰ´´Ó´óµ½Ð¡µÄ˳ÐòÅÅÁкã¬ÏÖ¸ø¶¨Ò»ÔªËØ£¬

ÊÔ±à³ÌÐòÔÚ±íÄÚ²éÕÒ£¬Èô±íÄÚÒÑÓдËÔªËØ£¬Ôò½áÊø£»·ñÔò£¬°´Ë³Ðò½«´ËÔªËØ²åÈë±íÖÐÊʵ±

µÄλÖ㬲¢ÐÞ¸Ä±í³¤¡£ ½â´ð£º

;µ÷ÊÔʱÓÃÁËÊ®¸öÊý¾Ý,±¾³ÌÐòÒÑͨ¹ýµ÷ÊÔ DATA SEGMENT TABLE_LEN DB ? X DB 99H

TABLE DB 98H,90H,80H,70H,60H,50H,40H,30H,20H,10H;X1,X2,...,X100 COUNT EQU $-TABLE DATA ENDS ;

STACK SEGMENT STACK ENDS

;

CODE SEGMENT

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

;½«Êý×éÖеÄ100H ¸öÊýÇóºÍºóÇ󯽾ùÖµ MOV DX,0000 LEA SI,TABLE MOV CX,COUNT

MOV AL,X;¼ÙÉèX Ϊ¸ø¶¨ÔªËØ ;ÔÚTABLE ÖÐÊÇ·ñÓÐÔªËØX AGAIN: MOV BL,[SI] CMP BL,AL JZ EXIT INC SI

LOOP AGAIN

;X ÔªËØ²»ÔÚ±íÖУ¬½«X ²åÈë±íÖÐÊʵ±Î»Öà LEA SI,TABLE

MOV DI,SI;DI Ϊ±íµÄÄ©µØÖ· ADD DI,COUNT-1

MOV CX,COUNT AGAIN0:MOV BL,[SI] CMP BL,AL JA NEXT0

BB: CMP DI,SI JZ AA

MOV AH,[DI]

MOV [DI+1],AH;½«±ÈX СµÄÔªËØºóÒÆÒ»Î» DEC DI JMP BB

AA: MOV [DI+1],BL MOV [DI],AL

MOV TABLE_LEN,COUNT+1 JMP EXIT

NEXT0: INC SI LOOP AGAIN0

MOV [DI+1],AL;Èô±È½Ïºó£¬X ÔªËØÎª×îС£¬Ôò·ÅÔÚ×îÄ©µ¥ÔªµÄºóÃæ£¬²¢½«±í³¤¼Ó1

MOV TABLE_LEN,COUNT+1 ;Í˳ö²¢·µ»ØDOS EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

21£®(26)ÔÚµ±Ç°Êý¾Ý¶Î£¨DS£©£¬Æ«ÒƵØÖ·ÎªDATAB ¿ªÊ¼µÄ˳Ðò80 ¸öµ¥ÔªÖУ¬´æ·Å×Åij°à80

¸öͬѧijÃÅ¿¼ÊԳɼ¨¡£°´ÒªÇó±àд³ÌÐò£º

¢Ù±àд³ÌÐòͳ¼Æ¡Ý90 ·Ö£»80 ·Ö¡«89 ·Ö£»70 ·Ö¡«79 ·Ö£»60 ·Ö¡«69 ·Ö£¬£¼

60 ·ÖµÄÈËÊý¸÷

Ϊ¶àÉÙ£¬²¢½«½á¹û·ÅÔÚͬһÊý¾Ý¶Î¡¢Æ«ÒƵØÖ·ÎªBTRX ¿ªÊ¼µÄ˳Ðòµ¥ÔªÖС£ ¢ÚÊÔ±à³ÌÐò£¬Çó¸Ã°àÕâÃÅ¿ÎµÄÆ½¾ù³É¼¨Îª¶àÉÙ£¬²¢·ÅÔÚ¸ÃÊý¾Ý¶ÎµÄAVER µ¥ÔªÖС£ ½â´ð£º

£»Í³¼ÆÑ§Éú³É¼¨ DATA SEGMENT

DATAB DB X1,X2,...,X80 N EQU $-DATAB ORG 100H BTRX DW 0 S8 DW 0 S7 DW 0 S6 DW 0 S5 DW 0 ORG 110H AVER DW ? DATA ENDS £»

STACK SEGMENT STACK STA DB 20 DUP (0) TOP EQU $¡ªSTA STACK ENDS £»

CODE SEGMENT MAIN PROC FAR

ASSUME CS£ºCODE£¬ DS£ºDATA£¬ SS£ºSTACK START£º PUSH DS SUB AX£¬AX PUSH AX

MOV AX£¬DATA MOV DS£¬AX MOV CX£¬N MOV BX,0000H MOV DX,0000H

LEA SI£¬DATAB £»³É¼¨±íÊ×µØÖ· COMPARE£ºMOV AL£¬[SI] CMP AL£¬60 £»<60£¿ JL FIVE

CMP AX£¬70 £»<70? JL SIX

CMP AX£¬80 £»<80? JL SEVEN

CMP AX£¬90 £»<90? JL EIGHT INC S9 JMP CHA

EIGHT£º INC S8 JMP CHA

SEVEN£º INC S7 JMP CHA

SIX£º INC S6 JMP CHA

FIVE£º INC S5 JMP CHA CHA£º ADD BX,AL JNC NEXT ADC DX,0

NEXT: INC SI £»Ñ­»·Ñ§ÉúÈËÊý LOOP COMPARE MOV AX,BX MOV CX,N

DIV CX MOV AVER,AX MOV AH,4CH INT 21H RET

MAIN ENDP CODE ENDS END START CH04 ´æ´¢ÏµÍ³ ϰÌâÓë˼¿¼Ìâ

1£®´æ´¢Æ÷µÄÄÄÒ»²¿·ÖÓÃÀ´´æ´¢³ÌÐòÖ¸Áî¼°Ïñ³£ÊýºÍ²éÕÒ±íÒ»ÀàµÄ¹Ì¶¨²»±äµÄÐÅÏ¢£¿ÄÄÒ»²¿

·ÖÓÃÀ´´æ´¢¾­³£¸Ä±äµÄÊý¾Ý£¿

½â´ð£ºÖ»¶Á´æ´¢Æ÷ROM£»Ëæ»ú´æ´¢Æ÷RAM¡£

2£®ÊõÓï¡°·ÇÒ×ʧÐÔ´æ´¢Æ÷¡±ÊÇʲôÒâ˼£¿PROM ºÍEPROM ·Ö±ð´ú±íʲôÒâ˼£¿ ½â´ð£º¡°·ÇÒ×ʧÐÔ´æ´¢Æ÷¡±ÊÇÖ¸µ±Í£µçºóÐÅÏ¢»á¶ªÊ§£»PROM--¿É±à³ÌÐòµÄÖ»¶Á´æ´¢Æ÷

PROM(Programmable ROM)£¬EPROM--¿É²Á³ýµÄ¿É±à³ÌµÄÖ»¶Á´æ´¢Æ÷EPROM(Erasible

Programmable ROM)¡£

3£®Î¢ÐͼÆËã»úÖг£ÓõĴ洢Æ÷ÓÐÄÄЩ£¿ËüÃǸ÷ÓкÎÌØµã£¿·Ö±ðÊÊÓÃÓÚÄÄЩ³¡ºÏ£¿ ½â´ð£º

Ë«¼«ÐͰ뵼Ìå´æ´¢Æ÷ Ëæ»ú´æ´¢Æ÷(RAM)

MOS ´æ´¢Æ÷£¨¾²Ì¬¡¢¶¯Ì¬£©

Ö÷´æ´¢Æ÷¿É±à³ÌÖ»¶Á´æ´¢Æ÷PROM

¿É²Á³ý¿É±à³ÌÖ»¶Á´æ´¢Æ÷EPROM£¬EEPROM Ö»¶Á´æ´¢Æ÷(ROM) ÑÚĤÐÍÖ»¶Á´æ´¢Æ÷MROM ¿ì²ÁÐÍ´æ´¢Æ÷

´æ´¢Æ÷´ÅÅÌ(ÈíÅÌ¡¢Ó²ÅÌ¡¢ÅÌ×é)´æ´¢Æ÷

¸¨Öú´æ´¢Æ÷´Å´ø´æ´¢Æ÷ ¹âÅÌ´æ´¢Æ÷ »º³å´æ´¢Æ÷

4£®ÏÖ´ú¼ÆËã»úÖеĴ洢Æ÷ϵͳ²ÉÓÃÁËÄÄÈý¼¶·Ö¼¶½á¹¹£¬Ö÷ÒªÓÃÓÚ½â¾ö´æ´¢Æ÷ÖдæÔÚµÄÄÄЩ ÎÊÌ⣿

½â´ð£ºÄ¿Ç°ÔÚ¼ÆËã»úϵͳÖÐͨ³£²ÉÓÃÈý¼¶´æ´¢Æ÷½á¹¹£¬¼´Ê¹ÓøßËÙ»º³å´æ´¢Æ÷¡¢Ö÷´æ´¢Æ÷

ºÍ¸¨Öú´æ´¢Æ÷£¬ÓÉÕâÈýÕß¹¹³ÉÒ»¸öͳһµÄ´æ´¢ÏµÍ³¡£´ÓÕûÌå¿´£¬ÆäËٶȽӽü¸ßËÙ»º´æµÄËÙ

¶È£¬ÆäÈÝÁ¿½Ó½ü¸¨´æµÄÈÝÁ¿£¬¶øÎ»³É±¾Ôò½Ó½üÁ®¼ÛÂýËٵĸ¨´æÆ½¾ù¼Û¸ñ¡£Èý¼¶½á¹¹Ö÷ÒªÓÃ

ÓÚ½â¾öËÙ¶È¡¢ÈÝÁ¿ºÍ³É±¾µÄÎÊÌâ¡£

5£®ÊԱȽϾ²Ì¬RAM ºÍ¶¯Ì¬RAM µÄÓÅȱµã£¬²¢ËµÃ÷ÓкÎÖÖ·½·¨¿É½â¾öµôµçʱ¶¯Ì¬RAM ÖÐ ÐÅÏ¢µÄ±£»¤¡£

½â´ð£º¾²Ì¬RAM----´æ´¢Ò»Î»ÐÅÏ¢µÄµ¥Ôªµç·¿ÉÒÔÓÃË«¼«ÐÍÆ÷¼þ¹¹³É£¬Ò²¿ÉÓÃMOS Æ÷¼þ¹¹

³É¡£Ë«¼«ÐÍÆ÷¼þ¹¹³ÉµÄµç·´æÈ¡Ëٶȿ죬µ«¹¤ÒÕ¸´ÔÓ£¬¼¯³É¶ÈµÍ£¬¹¦ºÄ´ó£¬Ò»°ã½ÏÉÙʹ

ÓÃÕâÖֵ緣¬¶ø²ÉÓÃMOS Æ÷¼þ¹¹³ÉµÄµç·¡£¾²Ì¬RAM µÄµ¥Ôªµç·ͨ³£ÊÇÓÉ6 ¸öMOS

¹Ü×Ó×é³ÉµÄË«ÎÈ̬´¥·¢Æ÷µç·£¬¿ÉÒÔÓÃÀ´´æ´¢ÐÅÏ¢¡°0¡±»òÕß¡°1¡±£¬Ö»Òª²»µôµç£¬¡°0¡±

»ò¡°1¡±×´Ì¬ÄÜÒ»Ö±±£³Ö£¬³ý·ÇÖØÐÂͨ¹ýд²Ù×÷дÈëеÄÊý¾Ý¡£Í¬Ñù¶Ô´æ´¢Æ÷µ¥ÔªÐÅÏ¢

µÄ¶Á³ö¹ý³ÌÒ²ÊÇ·ÇÆÆ»µÐԵ쬶Á³ö²Ù×÷ºó£¬Ëù±£´æµÄÐÅÏ¢²»±ä¡£Ê¹Óþ²Ì¬RAM µÄÓŵã

ÊÇ·ÃÎÊËٶȿ죬·ÃÎÊÖÜÆÚ´ï20~40ns¡£¾²Ì¬RAM ¹¤×÷Îȶ¨£¬²»ÐèÒª½øÐÐˢУ¬Íⲿµç

·¼òµ¥£¬µ«»ù±¾´æ´¢µ¥ÔªËù°üº¬µÄ¹Ü×ÓÊýÄ¿½Ï¶à£¬ÇÒ¹¦ºÄÒ²½Ï´ó£¬ËüÊʺÏÔÚСÈÝÁ¿´æ´¢ Æ÷ÖÐʹÓá£

¶¯Ì¬RAM----Ó뾲̬RAM Ò»Ñù£¬ÓÉÐí¶à»ù±¾´æ´¢µ¥Ôª°´ÐкÍÁÐÅÅÁÐ×é³É¾ØÕó¡£×î¼òµ¥

µÄ¶¯Ì¬RAM µÄ»ù±¾´æ´¢µ¥ÔªÊÇÒ»¸ö¾§Ìå¹ÜºÍÒ»¸öµçÈÝ£¬Òò¶ø¼¯³É¶È¸ß£¬³É±¾µÍ£¬ºÄµç

ÉÙ£¬µ«ËüÊÇÀûÓõçÈÝ´æ´¢µçºÉÀ´±£´æÐÅÏ¢µÄ£¬µçÈÝͨ¹ýMOS ¹ÜµÄÕ¤¼«ºÍÔ´¼«»á»ºÂý·Å

µç¶ø¶ªÊ§ÐÅÏ¢£¬±ØÐ붨ʱ¶ÔµçÈݳäµç£¬Ò²³ÆË¢Ð¡£ÁíÍ⣬ΪÁËÌá¸ß¼¯³É¶È£¬¼õÉÙÒý½ÅµÄ

·â×°Êý£¬DRAM µÄµØÖ·Ïß·Ö³ÉÐеØÖ·ºÍÁеØÖ·Á½²¿·Ö£¬Òò´Ë£¬ÔÚ¶Ô´æ´¢Æ÷½øÐзÃÎÊʱ£¬

×ÜÊÇÏÈÓÉÐеØÖ·Ñ¡Í¨ÐźÅRAS °ÑÐеØÖ·ËÍÈëÄÚ²¿ÉèÖõÄÐеØÖ·Ëø´æÆ÷£¬ÔÙÓÉÁÐ

µØÖ·Ñ¡

ͨÐźÅCAS °ÑÁеØÖ·ËÍÈëÁеØÖ·Ëø´æÆ÷£¬²¢ÓɶÁ/дÐźſØÖÆÊý¾ÝµÄ¶Á³ö»òдÈë¡£ËùÒÔ

ˢк͵ØÖ·Á½´Î´òÈëÊÇDRAM оƬµÄÖ÷ÒªÌØµã¡£¶¯Ì¬RAM ÐèÒªÅäÖÃË¢ÐÂÂß¼­µç·£¬

ÔÚË¢ÐÂÖÜÆÚÖУ¬´æ´¢Æ÷²»ÄÜÖ´ÐжÁ/д²Ù×÷£¬µ«ÓÉÓÚËüµÄµ¥Æ¬ÉϵĸßλÃܶȣ¨µ¥¹Ü¿É×é

³É£©ºÍµÍ¹¦ºÄ£¨Ã¿¸ö´æ´¢µ¥Ôª¹¦ºÄΪ0.05mw£¬¶ø¾²Ì¬RAM Ϊ0.2mw£©£¬¼°¼Û¸ñµÍÁ®µÈ

Óŵ㣬ʹ֮ÔÚ×é³É´óÈÝÁ¿´æ´¢Æ÷ʱ×÷ΪÖ÷ҪʹÓÃÆ÷¼þ¡£

6£® ¼ÆËã»úµÄµçÔ´µôµçºóÔÙ½Óµçʱ£¨ÏµÍ³ÖÐÎÞµôµç±£»¤×°Öã©£¬´æ´¢ÔÚ¸÷Àà´æ´¢Æ÷ÖеÄÐÅÏ¢

ÊÇ·ñÈÔÄܱ£´æ£¿ÊÔ´Ó¸÷Àà´æ´¢Æ÷µÄ»ù±¾Ô­ÀíÉÏÀ´·ÖÎö˵Ã÷¡£ ½â´ð£º

7£® ʲôÊÇ´æ´¢Æ÷µÄλÀ©³äºÍ×ÖÀ©³ä·½Ê½£¿ËüÃÇ·Ö±ðÓÃÔÚʲô³¡ºÏ£¿

½â´ð£ºÎ»À©³ä--Èç¹û´æ´¢Æ÷оƬµÄÈÝÁ¿Âú×ã´æ´¢Æ÷ϵͳµÄÒªÇ󣬵«Æä×Ö³¤Ð¡ÓÚ´æ´¢Æ÷ϵͳµÄ

ÒªÇó£¬Õâʱ£¬¾ÍÐèÒªÓÃ¶àÆ¬ÕâÑùµÄоƬͨ¹ýλÀ©³äµÄ·½·¨À´Âú×ã´æ´¢Æ÷ϵͳ¶Ô×Ö³¤µÄÒªÇó¡£

×ÖÀ©³ä--Èç¹û´æ´¢Æ÷оƬµÄ×Ö³¤·ûºÏ´æ´¢Æ÷ϵͳµÄÒªÇ󣬵«ÆäÈÝÁ¿Ì«Ð¡£¬¾ÍÐèҪʹÓÃ¶àÆ¬Õâ

ÑùµÄоƬͨ¹ý×ÖÀ©³ä(»òÈÝÁ¿À©³ä)µÄ·½·¨À´Âú×ã´æ´¢Æ÷ϵͳ¶ÔÈÝÁ¿µÄÒªÇó¡£ 8£® ÒªÓÃ64K¡Á1 µÄоƬ×é³É64K¡Á8 µÄ´æ´¢Æ÷ÐèÒª¼¸Æ¬Ð¾Æ¬£¿ ÒªÓÃ16K¡Á8 µÄоƬ×é³É64K¡Á8 µÄ´æ´¢Æ÷ÐèÒª¼¸Æ¬Ð¾Æ¬£¿ ½â´ð£º8 Ƭ£»4 Ƭ¡£

9£® ÊÔ»­³öÈÝÁ¿Îª4K¡Á8 µÄRAM Á¬½Óͼ£¨CPU ÓÃ8088£¬RAM ÓÃ2114¡ª1K*4£©£¬ÒªÇóRAM

µØÖ·´Ó0400H ¿ªÊ¼£¬²¢Ð´³ö¸÷оƬµÄµØÖ··ÖÅ䷶Χ¡£ ½â´ð£ºµØÖ··ÖÅ䷶Χ£º C B A ¶Ë¿ÚµØÖ·

12 13 14 15 A A A A 8 9 10 11 A A A A 4 5 6 7 A A A A 0 1 2 3 A A A A 0 0 0 0 0 0 0¡Á¡Á ¡Á¡Á¡Á¡Á ¡Á¡Á¡Á¡Á 0 y 0000H~03F FH

0 0 0 0 0 0 1¡Á¡Á ¡Á¡Á¡Á¡Á ¡Á¡Á¡Á¡Á 1 y 0400H~07F FH

0 0 0 0 0 1 0¡Á¡Á ¡Á¡Á¡Á¡Á ¡Á¡Á¡Á¡Á 2 y 0800H~0B FFH

0 0 0 0 0 1 1¡Á¡Á ¡Á¡Á¡Á¡Á ¡Á¡Á¡Á¡Á 3 y 0C00H~0F

FFH 0 0 0 0 1 0 0¡Á¡Á ¡Á¡Á¡Á¡Á ¡Á¡Á¡Á¡Á 4 y 1000H~13F

FH

0 0 0 0 1 0 1¡Á¡Á ¡Á¡Á¡Á¡Á ¡Á¡Á¡Á¡Á 5 y 1400H~17F FH

0 0 0 0 1 1 0¡Á¡Á ¡Á¡Á¡Á¡Á ¡Á¡Á¡Á¡Á 6 y 1800H~1B FFH

0 0 0 0 1 1 1¡Á¡Á ¡Á¡Á¡Á¡Á ¡Á¡Á¡Á¡Á 7 y 1C00H~1F FFH

10£® ÊÔ»­³öÈÝÁ¿Îª12K¡Á8 µÄROM Á¬½Óͼ£¨CPU ÓÃ8088£¬EPROM ÓÃ2716¡ª2K*8£©£¬

²¢Ð´³ö¸÷оƬµÄµØÖ··ÖÅ䷶Χ¡£ ½â´ð£º

11£® ÔÚÉÏÌâ»ù´¡ÉÏ£¬ÈôÒªÇóROM µØÖ·Çø´Ó1000H ¿ªÊ¼£¬Ó²¼þÉè¼Æ¸ÃÈçºÎÐ޸ģ¿²¢Ð´³ö

¸÷оƬµÄµØÖ··ÖÅ䷶Χ¡£ÈôÒªÇóROM µØÖ·Çø´ÓC000H ¿ªÊ¼£¬Ó²¼þÉè¼ÆÓÖ¸ÃÈçºÎÐ޸ģ¿

²¢Ð´³ö¸÷оƬµÄµØÖ··ÖÅ䷶Χ¡£ ½â´ð£º

12£®Ò»Ì¨8 λ΢»úϵͳ£¨CPU Ϊ8088£©ÐèÀ©Õ¹ÄÚ´æ16K£¬ÆäÖÐROM Ϊ8K£¬RAM Ϊ8K¡£

ROM Ñ¡ÓÃEPROM2716£¬RAM Ñ¡ÓÃ2114£¬µØÖ·¿Õ¼ä´Ó0000H ¿ªÊ¼£¬ÒªÇóROM Ôڵ͵Ø

Ö·£¬RAM ÔڸߵØÖ·£¬Á¬Ðø´æ·Å¡£ÊÔ»­³ö´æ´¢Æ÷×鹹ͼ£¬²¢Ð´³ö¸÷оƬµÄµØÖ··ÖÅ䷶Χ¡£ ½â´ð£º

13£®ÊÔ»­³öÈÝÁ¿Îª32K¡Á8 µÄROMÁ¬½Óͼ£¨CPUÓÃ8088£¬ ROMµØÖ·Çø´Ó8000H¿ªÊ¼£©£¬²¢

д³ö¸÷оƬµÄµØÖ··ÖÅ䷶Χ¡££¨EPROMÓÃ8K¡Á8 µÄ2764£¬µØÖ·ÏߣºA0¡«A12£¬Êý¾ÝÏߣº

O0¡«O7, Ƭѡ£º CE £¬Êä³öÔÊÐí£º * £©¡£ ½â´ð£º

14£®Ê²Ã´ÊǸßËÙ»º³å´æ´¢Æ÷£¿ÔÚ΢»úÖÐʹÓøßËÙ»º³å´æ´¢Æ÷µÄ×÷ÓÃÊÇʲô£¿ ½â´ð£º¸ßËÙ»º³å´æ´¢Æ÷--£¬½â¾öËٶȺͳɱ¾µÄ¹ØÏµ¡£

15£®ºÎν¸ßËÙ»º³å´æ´¢Æ÷µÄÃüÖУ¿ÊÔ˵Ã÷Ö±½ÓÓ³Ïñ¡¢È«ÏàÁªÓ³Ïñ¡¢×éÏàÁªÓ³ÏñµÈµØÖ·Ó³Ïñ·½

ʽµÄ»ù±¾¹¤×÷Ô­Àí¡£

½â´ð£ºCache ¿ØÖÆÆ÷½«À´×ÔCPU µÄÊý¾Ý¶ÁдÇëÇó£¬×ªÏòCache ´æ´¢Æ÷£¬Èç¹ûÊý¾Ý¿ìÒÑÔÚCache ÖУ¬³ÆÎªÒ»´ÎÃüÖС£

Ö±½ÓÓ³Ïó·½Ê½¡ªÊÇÿ¸öÖ÷´æµØÖ·Ó³Ïóµ½Cache ÖеÄÒ»¸öÖ¸¶¨µØÖ·µÄ·½Ê½³ÆÎªÖ±½ÓÓ³Ïó¡£

È«ÏàÁªÓ³Ïó·½Ê½--ÊÇ×îÁé»îµ«³É±¾×î¸ßµÄÒ»ÖÖ·½Ê½£¬Èçͼ4-26 Ëùʾ£¬ËüÔÊÐíÖ÷´æÖеÄÿ

Ò»¸ö×Ö¿éÓ³Ïóµ½Cache ´æ´¢Æ÷µÄÈκÎÒ»¸ö×Ö¿éλÖÃÉÏ£¬Ò²ÔÊÐí´ÓȷʵÒѱ»Õ¼ÂúµÄCache

´æ´¢Æ÷ÖÐÌæ»»³öÈκÎÒ»¸ö¾É×Ö¿é¡£

×éÏàÁªÓ³Ïó·½Ê½--ÊÇÈ«ÏàÁªÓ³ÏóºÍÖ±½ÓÓ³ÏóµÄÒ»ÖÖÕÛÖÔ·½°¸¡£ÕâÖÖ·½·¨½«´æ´¢¿Õ¼ä·Ö³É

Èô¸É×飬¸÷×éÖ®¼äÊÇÖ±½ÓÓ³Ï󣬶ø×éÄÚ¸÷¿éÖ®¼äÔòÊÇÈ«ÏàÁªÓ³Ïó¡£

16£®Ê²Ã´ÊÇÐéÄâ´æ´¢Æ÷£¿ËüµÄ×÷ÓÃÊÇʲô£¿ ½â´ð£ºÐéÄâ´æ´¢Æ÷Êǽ¨Á¢ÔÚÖ÷´æ-¸¨´æÎïÀí½á¹¹»ù´¡Ö®ÉÏ£¬Óɸ½¼ÓÓ²¼þ×°Öü°²Ù×÷ϵͳ´æ´¢

¹ÜÀíÈí¼þ×é³ÉµÄÒ»ÖÖ´æ´¢Ìåϵ£¬Ëü½«Ö÷´æºÍ¸¨´æµÄµØÖ·¿Õ¼äͳһ±àÖ·£¬ÐγÉÒ»¸öÅÓ´óµÄ

´æ´¢¿Õ¼ä¡£ÔÚÕâ¸ö´ó¿Õ¼äÀÓû§×ÔÓɱà³Ì£¬ÍêÈ«²»±Ø¿¼ÂdzÌÐòÔÚÖ÷´æÊÇ·ñ×°µÃÏ£¬»ò

Õß·ÅÔÚ¸¨´æµÄ³ÌÐò½«À´ÔÚÖ÷´æÖеÄʵ¼ÊλÖᣱàºÃµÄ³ÌÐòÓɼÆËã»ú²Ù×÷ϵͳװÈ븨Öú´æ

´¢Æ÷£¬³ÌÐòÔËÐÐʱ£¬¸½¼ÓµÄ¸¨ÖúÓ²¼þ»ú¹¹ºÍ´æ´¢¹ÜÀíÈí¼þ»á°Ñ¸¨´æµÄ³ÌÐòÒ»¿é¿é×Ô¶¯µ÷

ÈëÖ÷´æÓÉCPU Ö´ÐУ¬»ò´ÓÖ÷´æµ÷³ö¡£ CH05 ¶¨Ê±Óë¼ÆÊý ϰÌâÓë˼¿¼Ìâ

1£®Ê²Ã´½Ð¶Ë¿Ú? ¶Ë¿Úͨ³£ÓÐÄļ¸ÖÖ? ¸÷ÓÐÊ²Ã´ÌØµã£¿

½â´ð£ºÎªÁËÌṩCPU ÓëÀ©Õ¹²¿¼þºÍ½Ó¿Úµç·ֱ½Ó½øÐвÙ×÷µÄ¡°Í¨µÀ¡±£¬Ã¿¸ö²¿¼þ»ò½Ó¿ÚÄÚ²¿

¶¼°üº¬ÓÐÒ»×é¼Ä´æÆ÷£¬ÕâЩ¼Ä´æÆ÷ͨ³£³ÆÎª¶Ë¿Ú£¬Ã¿¸ö¶Ë¿ÚÓÐÒ»¸ö¶Ë¿ÚµØÖ·¡£µ±CPU ÓëËü

ÃǽøÐÐͨÐÅʱ£¬²»Í¬µÄÐÅϢͨ¹ý²»Í¬µÄ¶Ë¿ÚµØÖ·Ó벻ͬµÄ¼Ä´æÆ÷½øÐн»»¥¡£ ¶Ë¿Úͨ³£·ÖΪÈýÀࣺÓÃÀ´´«ÊäÊý¾ÝµÄ³ÆÎªÊý¾Ý¶Ë¿Ú£»ÓÃÀ´´æ·ÅÉ豸»òÕß²¿¼þ״̬µÄ³ÆÎª

״̬¶Ë¿Ú£»ÓÃÀ´´æ·ÅCPU ·¢³öµÄÃüÁîµÄ³ÆÎª¿ØÖƶ˿ڡ£CPU ͨ¹ýÊý¾Ý¶Ë¿ÚÍê³ÉÊý¾Ý´«Ê䣬

Òò´Ë£¬Êý¾Ý¶Ë¿ÚÒ»°ãÊǿɶÁ¿ÉдµÄ£»CPU ͨ¹ý״̬¶Ë¿Ú¿ÉÒÔ¼ì²âÍâÉèºÍ½Ó¿Ú²¿¼þµ±Ç°µÄ×´

̬£¬Òò´Ë£¬×´Ì¬¶Ë¿ÚÒ»°ãÊÇÖ»¶ÁµÄ£»CPU ͨ¹ý¿ØÖƶ˿ڴ«ÊäÃüÁîÒÔ±ã¿ØÖÆ½Ó¿ÚºÍÉ豸µÄ¶¯

×÷£¬Òò´Ë£¬¿ØÖƶ˿ÚÒ»°ãÊÇֻдµÄ¡£

2£®ÊÔ˵Ã÷8253 µÄÄÚ²¿½á¹¹°üÀ¨ÄöÖ÷Òª¹¦ÄÜÄ£¿é£¿

½â´ð£º(1) Êý¾Ý×ÜÏß»º³åÆ÷¡£ÕâÊÇ8253 ÓëCPU Êý¾Ý×ÜÏßÁ¬½ÓµÄ8 λ¡¢Ë«Ïò¡¢Èý̬»º³åÆ÷¡£

CPU ÓÃÊäÈëÊä³öÖ¸Áî¶Ô8253 ½øÐжÁдµÄËùÓÐÐÅÏ¢¶¼ÊÇͨ¹ý¸Ã»º³åÆ÷´«Ë͵ģ¬ÄÚÈݰüÀ¨£º

. CPU ÔÚ³õʼ»¯±à³ÌʱдÈë8253 µÄ¿ØÖÆ×Ö¡£ . CPU Ïò8253 µÄijһͨµÀдÈëµÄ¼ÆÊýÖµ¡£ . CPU ´Óijһ¸öͨµÀ¶ÁÈ¡µÄ¼ÆÊýÖµ¡£

(2) ¶Á/д¿ØÖÆÂß¼­¡£ÕâÊÇ8253 ÄÚ²¿²Ù×÷µÄ¿ØÖƲ¿·Ö¡£Ëü½ÓÊÕÊäÈëµÄÐźţ¨ CS ¡¢WR ¡¢

RD ¡¢A1¡¢A0£©£¬ÒÔʵÏÖÆ¬Ñ¡¡¢ÄÚ²¿Í¨µÀÑ¡Ôñ£¨¼û±í5-1£©ÒÔ¼°¶ÔÏà¹Ø¶Ë¿ÚµÄ¶Á/д²Ù×÷¡£

(3) ¿ØÖÆ×ּĴæÆ÷¡£ÔÚ¶Ô8253 ½øÐгõʼ»¯±à³Ìʱ£¬¸Ã¼Ä´æÆ÷´æ·ÅÓÉCPU дÈëµÄ¿ØÖÆ×Ö£¬

ÓÉ´Ë¿ØÖÆ×ÖÀ´¾ö¶¨ËùÑ¡ÖÐͨµÀµÄ¹¤×÷·½Ê½¡£´Ë¼Ä´æÆ÷Ö»ÄÜдÈë²»ÄܶÁ³ö¡£

(4) ¼ÆÊýÆ÷0£¬¼ÆÊýÆ÷1£¬¼ÆÊýÆ÷2¡£ÕâÊÇÈý¸ö¶ÀÁ¢µÄ¼ÆÊýÆ÷/¶¨Ê±Æ÷ͨµÀ£¬¸÷×Կɰ´²»

ͬµÄ¹¤×÷·½Ê½¹¤×÷¡£

ÿ¸öͨµÀÄÚ²¿¾ù°üº¬Ò»¸ö16 λ¼ÆÊý³õÖµ¼Ä´æÆ÷¡¢Ò»¸ö16 λ¼õ·¨¼ÆÊýÆ÷ºÍÒ»¸ö16 Î»Ëø

´æÆ÷¡£ÆäÖУ¬¼ÆÊý³õÖµ¼Ä´æÆ÷ÓÃÀ´´æ·Å³õʼ»¯±à³ÌʱÓÉCPU дÈëµÄ¼ÆÊý³õÖµ¡£¼õ·¨¼ÆÊýÆ÷

´Ó¼ÆÊý³õÖµ¼Ä´æÆ÷ÖлñµÃ¼ÆÊý³õÖµ£¬½øÐмõ·¨¼ÆÊý£¬µ±Ô¤ÖÃÖµ¼õµ½Áã»ò1£¨ÊÓ¹¤×÷·½Ê½¶ø¶¨£©

ʱ£¬OUT Êä³ö¶ËµÄÊä³öÐźŽ«ÓÐËù±ä»¯¡£Õý³£¹¤×÷ʱ£¬Ëø´æÆ÷ÖеÄÄÚÈÝËæ¼õ·¨¼ÆÊýÆ÷µÄÄÚ

Èݶø±ä»¯£¬µ±ÓÐͨµÀËø´æÃüÁîʱ£¬Ëø´æÆ÷±ãËø¶¨µ±Ç°ÄÚÈÝÒÔ±ãCPU ¶ÁÈ¡£¬CPU ¿ÉÓÃÊäÈëÖ¸

Áî¶ÁÈ¡ÈÎÒ»¼ÆÊýÆ÷µÄµ±Ç°¼ÆÊýÖµ£¬Í¨µÀËø´æÆ÷ÖеÄÄÚÈݱ»CPU ¶Á×ßÖ®ºó£¬¾Í×Ô¶¯½â³ýËø´æ

¼ÌÐøËæ¼õ·¨¼ÆÊýÆ÷¶ø±ä»¯¡£

3£®8253 оƬ¹²Óм¸ÖÖ¹¤×÷·½Ê½£¿Ã¿ÖÖ¹¤×÷·½Ê½¸÷ÓÐÊ²Ã´ÌØµã£¿

½â´ð£º8253 ¹²ÓÐ6 ÖÖ¹¤×÷·½Ê½£¬¸÷¹¤×÷·½Ê½ÏµĹ¤×÷״̬ÊDz»Í¬µÄ£¬Êä³öµÄ²¨ÐÎÒ²²»Í¬¡£

·½Ê½0 ºÍ·½Ê½4 ÕâÁ½ÖÖ¹¤×÷·½Ê½µÄÏà֮ͬ´¦ÊÇ£º

¢Ù µ±¿ØÖÆ×ÖдÈë¿ØÖÆ×ּĴæÆ÷£¬½Ó×ÅÔÙдÈë¼ÆÊý³õÖµºó£¬Í¨µÀ¿ªÊ¼¼õ1 ¼ÆÊý£¬ÒªÇó´Ë

ʱGATE ÐźÅÒ»Ö±±£³Ö¸ßµçƽ¡£

¢Ú ¼ÆÊýÆ÷Ö»¼ÆÒ»±é¡£µ±¼ÆÊýµ½0 ºó£¬Í¨µÀ²¢²»×Ô¶¯»Ö¸´¼ÆÊý³õÖµÖØÐ¼ÆÊý£¬Ö»ÓÐÔÚÓÃ

»§ÖØÐ±à³ÌдÈëеļÆÊýÖµºó£¬Í¨µÀ²Å¿ªÊ¼ÐµļÆÊý£¬Òò´ËÎÒÃÇ³ÆÆäΪÈí¼þ´¥·¢·½Ê½¡£

¢Û ͨµÀÊÇÔÚдÈë¼ÆÊýÖµºóµÄÏÂÒ»¸öʱÖÓÂö³å²Å½«¼ÆÊýÖµ×°Èë¼ÆÊýÆ÷¿ªÊ¼¼ÆÊý¡£Òò´Ë£¬

Èç¹ûÉèÖüÆÊý³õֵΪN£¬ÔòÊä³öÐźÅOUT ÊÇÔÚN£«l ¸öCLK ÖÜÆÚºó²ÅÓб仯¡£

¢Ü ÔÚ¼ÆÊý¹ý³ÌÖУ¬¿ÉÓÉÃÅ¿ØÐźÅGATE ¿ØÖÆÔÝÍ£¡£µ±GATE=0 ʱ£¬¼ÆÊýÔÝÍ££¬OUT Êä

³ö²»±ä£¬µ±GATE ±ä¸ßºó¼ÌÐø½Ó׿ÆÊý¡£

¢Ý ÔÚ¼ÆÊý¹ý³ÌÖпÉÒÔ¸Ä±ä¼ÆÊýÖµ¡£ÈôÊÇ8 λ¼ÆÊý£¬ÔÚдÈëеļÆÊýÖµºó£¬¼ÆÊýÆ÷½«Á¢

¼´°´ÐµļÆÊýÖµÖØÐ¿ªÊ¼¼ÆÊý¡£Èç¹ûÊÇ16 λ¼ÆÊý£¬ÔÚдÈëµÚÒ»¸ö×ֽں󣬼Æ

ÊýÆ÷Í£Ö¹¼ÆÊý£¬

ÔÚдÈëµÚ¶þ¸ö×ֽں󣬼ÆÊýÆ÷°´ÕÕеļÆÊýÖµ¿ªÊ¼¼ÆÊý£¬¼´¸Ä±ä¼ÆÊýÖµÊÇÁ¢¼´ÓÐЧµÄ¡£

ÕâÁ½ÖÖ¹¤×÷·½Ê½µÄ²»Í¬Ö®´¦ÊÇ£º

¢Ù µ±¿ØÖÆ×ÖдÈë¿ØÖÆ×ּĴæÆ÷ºó£¬OUT Êä³öµÄ³õʼ״̬²»Í¬¡£·½Ê½0 ÊÇÓÉ¸ßµçÆ½±äµÍ

µçƽ£¬¶ø·½Ê½4 ÔòÊÇÓÉµÍµçÆ½±ä¸ßµçƽ¡£

¢Ú ¼ÆÊýµ½¡°0¡±Ê±OUT Êä³öµÄ±ä»¯²»Í¬¡£·½Ê½0 ÊÇʹOUT Êä³ö±ä¸ß²¢±£³Ö²»±äµÈ´ý

Ï´ÎÈí¼þ´¥·¢£¬·½Ê½4 ÔòÊÇʹOUT Êä³öÒ»¸öCLK µÄ¸ºÂö³åºó±ä¸ß²¢±£³Ö²»±äµÈ´ýÏ´ÎÈí ¼þ´¥·¢¡£

·½Ê½1 ºÍ·½Ê½5 ÕâÁ½ÖÖ¹¤×÷·½Ê½µÄÏà֮ͬ´¦ÊÇ£º

¢Ù µ±¿ØÖÆ×ÖдÈë¿ØÖÆ×ּĴæÆ÷£¬½Ó×ÅÔÙдÈë¼ÆÊý³õÖµºó£¬Í¨µÀ²¢²»¿ªÊ¼¼ÆÊý£¬Ö»ÓÐÔÚ

GATE ÐźŴ¥·¢ÒÔºó£¬Í¨µÀ²Å¿ªÊ¼¼õ1 ¼ÆÊý£¬Òò´ËÎÒÃÇ³ÆÆäΪӲ¼þ´¥·¢·½Ê½¡£ ¢Ú µ±¼ÆÊýÆ÷¼ÆÊýµ½0 ºó£¬Í¨µÀ²¢²»×Ô¶¯»Ö¸´¼ÆÊý³õÖµÖØÐ¼ÆÊý£¬µ«ÊÇÈç¹ûGATE ÐźÅ

Ôٴδ¥·¢£¬Í¨µÀÔò×Ô¶¯»Ö¸´¼ÆÊý³õÖµÖØÐ¼ÆÊý¡£Ò²¾ÍÊÇ˵£¬GATE ÐźÅÿ´¥·¢Ò»´Î£¬Í¨µÀ¾Í

×Ô¶¯»Ö¸´¼ÆÊý³õÖµÖØÐ¼ÆÊýÒ»´Î¡£

¢Û ÔÚ¼ÆÊý¹ý³ÌÖУ¬CPU ¿É±à³Ì¸Ä±ä¼ÆÊýÖµ£¬µ«ÕâʱµÄ¼ÆÊý¹ý³Ì²»ÊÜÓ°Ï죬ֻÓе±ÔÙ´Î

ÓÉGATE ÐźŴ¥·¢Ê±£¬¼ÆÊýÆ÷²Å¿ªÊ¼°´ÐÂÊäÈëµÄ¼ÆÊýÖµ¼ÆÊý£¬¼´¸Ä±ä¼ÆÊýÖµÊÇÏ´ÎÓÐЧµÄ¡£

ÕâÁ½ÖÖ¹¤×÷·½Ê½µÄ²»Í¬Ö®´¦ÊÇ£º

¢Ù ËäÈ»µ±¿ØÖÆ×ÖдÈë¿ØÖÆ×ּĴæÆ÷ºó£¬OUT Êä³öµÄ³õʼ״̬Ïàͬ£¬µ«ÔÚGATE ´¥·¢ÒÔ

ºó£¬OUT Êä³öµÄ״̬²»Í¬£¬·½Ê½1 ÊÇÓÉ¸ßµçÆ½±äµÍµçƽ£¬¶ø·½Ê½5 Ôò±£³ÖΪ¸ßµçƽ¡£

¢Ú ¼ÆÊýµ½¡°0¡±Ê±OUT Êä³öµÄ±ä»¯²»Í¬¡£·½Ê½1 ÊÇʹOUT Êä³ö±ä¸ß²¢±£³Ö²»±äµÈ´ý

Ï´ÎÓ²¼þ´¥·¢£¬·½Ê½5 ÔòÊÇʹOUT Êä³öÒ»¸öCLK ÖÜÆÚµÄ¸ºÂö³åºó±ä¸ß²¢±£³Ö²»±äµÈ´ýÏ ´ÎÓ²¼þ´¥·¢¡£

·½Ê½2 ºÍ·½Ê½3 ÕâÁ½ÖÖ¹¤×÷·½Ê½µÄÏà֮ͬ´¦ÊÇ£º

¢Ù µ±¿ØÖÆ×ÖдÈë¿ØÖÆ×ּĴæÆ÷ºó£¬OUT Êä³öµÄ³õʼ״̬Ïàͬ¶¼ÊÇÓɵͱä¸ß¡£½Ó×ÅÔÙд

Èë¼ÆÊý³õÖµºó£¬Í¨µÀ¿ªÊ¼¼õ1 ¼ÆÊý£¬ÒªÇó´ËʱGATE ÐźÅÒ»Ö±±£³Ö¸ßµçƽ¡£ ¢Ú µ±¼ÆÊýµ½1 »ò0 ºó£¬Í¨µÀ»á×Ô¶¯»Ö¸´¼ÆÊý³õÖµÖØÐ¿ªÊ¼¼ÆÊý£¬´Ó¶ø²úÉúÁ¬ÐøÖÜÆÚÐÔ

Êä³ö²¨ÐΣ¬Èç¹ûÉèÖüÆÊý³õֵΪN£¬ÔòÖÜÆÚΪN ¸öCLK¡£

¢Û ÔÚ¼ÆÊý¹ý³ÌÖУ¬¿ÉÓÉÃÅ¿ØÐźÅGATE ¿ØÖÆÍ£Ö¹¼ÆÊý¡£µ±GATE=0 ʱ£¬Í£Ö¹¼ÆÊý£¬OUT

Êä³ö±ä¸ß£¬µ±GATE ±ä¸ßºó£¬¼ÆÊýÆ÷½«ÖØÐÂ×°Èë¼ÆÊý³õÖµ¿ªÊ¼¼ÆÊý¡£

¢Ü ÔÚ¼ÆÊý¹ý³ÌÖпÉÒÔ¸Ä±ä¼ÆÊýÖµ£¬Èç¹û´ËʱGATE ά³ÖΪ¸ß£¬Õâ¶ÔÕýÔÚ½øÐеļÆÊý¹ý

³ÌûÓÐÓ°Ï죬µ«ÔÚ¼ÆÊýµ½1 »ò0 ºó£¬Í¨µÀ×Ô¶¯»Ö¸´¼ÆÊý³õÖµÖØÐ¿ªÊ¼¼ÆÊýʱ½«°´ÐµļÆÊýÖµ

¼ÆÊý¡£µ«Èç¹û´ËʱGATE ³öÏÖÉÏÉýÑØ£¬ÄÇô£¬ÔÚÏÂÒ»¸öCLK ÖÜÆÚ£¬ÐµļÆÊýÖµ½«±»×°Èë¼Æ

ÊýÆ÷¿ªÊ¼¼ÆÊý¡£

ÕâÁ½ÖÖ¹¤×÷·½Ê½µÄ²»Í¬Ö®´¦ÊÇ£º

¢Ù ·½Ê½2 µ±¼ÆÊýÆ÷¼õµ½1 ʱ£¬Êä³öOUT ±äµÍ£¬¾­¹ýÒ»¸öCLK ÖÜÆÚºó»Ö¸´Îª¸ß£¬ÇÒ¼Æ

ÊýÆ÷¿ªÊ¼ÖØÐ¼ÆÊý¡£Èç¹û¼ÆÊý³õֵΪN£¬ÔòÊä³ö²¨ÐÎΪN-1 ¸öCLK ÖÜÆÚΪ¸ßµçƽ£¬Ò»¸öCLK ÖÜÆÚΪµÍµçƽ¡£

¢Ú ·½Ê½3 Êä³öΪ·½²¨£¬µ«Çé¿öÒ²ÓÐËù²»Í¬£º

Èô¼ÆÊýֵΪżÊý£¬ÔòÊä³öΪ±ê×¼·½²¨£¬N/2 ¸öCLK ÖÜÆÚΪ¸ßµçƽ£¬N/2 ¸öCLK ÖÜÆÚΪ

µÍµçƽ¡£Èç¹û¼ÆÊýÖµN ÊÇÆæÊý£¬ÔòÊä³öÓÐ(N+1)/2 ¸öCLK ÖÜÆÚΪ¸ßµçƽ£¬(N-1)/2 ¸öCLK ÖÜ

ÆÚΪµÍµçƽ£¬¼´OUT Ϊ¸ßµçƽ½«±ÈÆäΪµÍµçƽ¶àÒ»¸öCLK ÖÜÆÚʱ¼ä¡£

4£®ÈôÑ¡ÓÃ8253 ͨµÀ2£¬¹¤×÷ÔÚ·½Ê½1£¬°´¶þ½øÖƼÆÊý£¬¼ÆÊýֵΪ5432¡£Éè¶Ë¿ÚµØÖ·ÎªD8H¡«

DBH£¬Íê³É³õʼ»¯±à³Ì¡£Èç¹û¼ÆÊýÖµ¸ÄΪ65536 ÄØ£¿Èç¹û´ËʱÓÖÔöÑ¡8253 ͨµÀ0£¬¹¤×÷

ÔÚ·½Ê½0£¬°´BCD Âë¼ÆÊý£¬¼ÆÊýֵΪ2000£¬ÔÙÍê³É¶ÔͨµÀ0 µÄ³õʼ»¯±à³Ì¡£ ½â´ð£º±à³ÌÈçÏ¡£

MOV AL,1011 0010B;(B2H) MOV DX,00DBH OUT DX,AL MOV AX,5432 MOV DX,00DAH OUT DX,AL MOV AL,AH OUT DX,AL

;¼ÆÊýֵΪ65536

MOV AL,1011 0010B;(B2H) MOV DX,00DBH OUT DX,AL MOV AX,0000H MOV DX,00DAH OUT DX,AL OUT DX,AL £»Ôö¼ÓͨµÀ0

MOV AL,0010 0001B;(20H)/ 0011 0001B;(31H) MOV DX,00DBH OUT DX,AL

MOV AL,20H£»/00H MOV DX,00D8H OUT DX,AL£» £»/MOV AL,20H £»/OUT DX,AL

5£®Ä³Î¢»úϵͳÓëCRTͨѶÖУ¬²ÉÓÃÒì²½·½Ê½£¬ÀûÓÃ8253 оƬµÄͨµÀ1 ²úÉú·¢ËͺͽÓÊÕʱÖÓ£¬

ʱÖÓÆµÂÊΪ50KHz¡£Éè8253 µÄͨµÀ1 µÄCLK1=1.2288MHz£¬¶Ë¿ÚµØÖ·Îª80H¡«83H£¬ÊÔд

³ö8253 µÄ³õʼ»¯³ÌÐò¡£

½â´ð£ºTOUT=N* TCLK(»òfCLK=N*fOUT) N=1.2288MHz/50KHz=24.576 £»Ö»ÄÜÓ÷½Ê½3 À´²úÉúʱÖÓÐźŠMOV AL,0101 0110B;(56H) MOV DX,0083H OUT DX,AL MOV AL,25H MOV DX,81H

OUT DX,AL 6£®Ä³ÏµÍ³ÖÐCPU Ϊ8088£¬Íâ½ÓһƬ8253 оƬ£¬ÒªÇóͨµÀ2 Ìṩһ¸ö¶¨Ê±Æô¶¯Ðźţ¬¶¨Ê±

ʱ¼äΪ10ms£¬Í¨µÀ2 µÄ¹¤×÷ʱÖÓÆµÂÊΪ2MHz¡£Í¬Ê±ÔÚͨµÀ0 ½ÓÊÕÍⲿ¼ÆÊýʼþÊäÈ룬

¼ÆÂú100 ¸öÊä³öÒ»¸ö¸ºÂö³å¡£ÊÔÍê³ÉÓ²¼þÁ¬Ïߺͳõʼ»¯³ÌÐò¡£ ½â´ð£ºTOUT=N* TCLK(»òfCLK=N*fOUT) N=10 ms /(1/2MHz) =20000 £»2 ºÅ¼ÆÊýÆ÷

MOV AL,1011¡Á¡Á¡Á0B;(B0H) MOV DX,0083H OUT DX,AL MOV AX,20000 MOV DX,82H OUT DX,AL MOV AL,AH OUT DX,AL

;0 ºÅ¼ÆÊýÆ÷£¬Ö»ÄÜÓ÷½Ê½2

MOV AL,0001 ¡Á100B;(14H/1CH) MOV DX,0083H OUT DX,AL MOV AL,100 MOV DX,80H OUT DX,AL

7£®ÔÚ³ö×â³µ¼Æ¼ÛϵͳÖУ¬ÐèҪͳ¼Æ³µÂÖת¶¯µÄȦÊý£¬¼ÙÉèÒÑÓÐÒ»¸öÍⲿµç·£¬³µÂÖÿתһ

Ȧ¾Í¿ÉÒÔÊä³öÒ»¸öÂö³å£¬¸ù¾Ý¼Æ¼Û¹æÔò£¬³µÂÖÿת120 Ȧ£¬ÒªÍ¨ÖªCPU ½øÐÐÒ»´Î¼Æ¼Û¸ü

С£ÏÖÔÚϵͳÄâ²ÉÓÃ8253 ×÷Ϊ¼ÆÊýÆ÷ʹÓã¬CPU ²ÉÓÃ8086£¬ÊÔÍê³ÉÓ²¼þÉè

¼ÆºÍ8253 µÄ

³õʼ»¯¡££¨Íⲿµç·½ö±êÃ÷Êä³ö¶Ë¼´¿É£¬²»ÐèÉè¼Æ¾ßÌåµç·¡£²»Ðè½øÐÐCPU ·½ÃæµÄ¾ßÌ弯

¼Û¼ÆË㣬½ö֪ͨCPU ¼´¿É£© ½â´ð£º

8£®ÏÖÔÚÒªÓÃһƬ8253 ½øÐÐÂö¿í²âÁ¿£¬Óû²âÁ¿µÄÂö¿í´óÔ¼ÊÇ1ms¡£´Ëʱ£¬Óû²âÁ¿µÄÂö³åÐźÅ

¿É½ÓÔÚ8253 ÏàӦͨµÀµÄÄĸöÒý½Å£¿²ÉÓÃʲô¹¤×÷·½Ê½£¿ÊÔÍê³É²âÁ¿ËùÐèµÄÓ²¼þºÍÈí¼þÉè

¼Æ£¨¼ÙÉèÌṩÓÐÁ½Â·Ê±ÖÓÐźſÉÒÔʹÓãº1MHz ºÍ10KHz£©¡£ CH06 ÊäÈëÊä³ö¿ØÖÆ Ï°ÌâÓë˼¿¼Ìâ

1£®CPU ÓëÍâÉèÖ®¼äµÄÊý¾Ý´«Êä¿ØÖÆ·½Ê½ÓÐÄļ¸ÖÖ£¿ºÎν³ÌÐò¿ØÖÆ·½Ê½£¿ËüÓÐÄÄÁ½ÖÖ»ù±¾·½

ʽ£¿Çë·Ö±ðÓÃÁ÷³ÌͼµÄÐÎʽÃèÊöÆä´¦Àí¹ý³Ì¡£

2£®²ÉÓÃÓòéѯ·½Ê½½«Êý¾ÝÇøDATA¿ªÊ¼µÄ100 ¸ö×Ö½ÚÊý¾ÝÔÚFCH¶Ë¿ÚÊä³ö£¬Éè״̬¶Ë¿ÚµØÖ·

ΪFFH£¬×´Ì¬×ÖµÄD0λΪ1 ʱ±íʾÍâÉè´¦ÓÚ¡°Ã¦¡±×´Ì¬¡£ÊÔ±àд²éѯ³ÌÐò¡£ 3£®ºÎνÖжÏÓÅÏȼ¶£¬Ëü¶ÔÓÚʵʱ¿ØÖÆÓÐʲôÒâÒ壿ÓÐÄļ¸ÖÖ¿ØÖÆÖжÏÓÅÏȼ¶µÄ·½Ê½£¿

4£®Ê²Ã´½ÐDMA ´«ËÍ·½Ê½? ÆäÖ÷Òª²½ÖèÊÇʲô£¿ÊԱȽÏDMA ´«Êä¡¢²éѯʽ´«Êä¼°ÖжϷ½

ʽ´«ÊäÖ®¼äµÄÓÅȱµãºÍÊÊÓó¡ºÏ?

5£®Ê²Ã´ÊÇÖжÏÏòÁ¿£¿ÖжÏÏòÁ¿±íµÄ¹¦ÄÜÊÇʲô£¿ÒÑÖªÖжÏÔ´µÄÖжÏÀàÐÍÂë·Ö±ðÊÇ84H ºÍ

FAH£¬ËüÃÇËù¶ÔÓ¦µÄÖжÏÏòÁ¿·Ö±ðΪ£º2000H:1000H, 3000H:4000H, ÕâЩÖжÏÏòÁ¿Ó¦·ÅÔÚ

ÖжÏÏòÁ¿±íµÄʲôλÖã¿ÈçºÎ´æ·Å£¿ ±à³ÌÍê³ÉÖжÏÏòÁ¿µÄÉèÖᣠ½â´ð£ºÖжÏÏòÁ¿----£»ÖжÏÏòÁ¿±í----¡£

84H µÄλÖãº210H~213H£»FAH µÄλÖãº3E8H~3EBH 0000£º210H 00 10 00 20 0000£º3E8H 00 40 00 30 PUSH DS

MOV DX,2000H MOV DS,DX MOV DX,1000H MOV AL,84H MOV AH,25H INT 21H £»

MOV DX,3000H MOV DS,DX MOV DX,4000H MOV AL,0FAH MOV AH,25H

INT 21H POP DS

6£®ÊÔ½áºÏ8086/8088CPU ¿ÉÆÁ±ÎÖжϵÄÏìÓ¦¹ý³Ì£¬ËµÃ÷ÏòÁ¿Ê½ÖжϵĻù±¾´¦Àí²½Öè¡£

½â´ð£º¢Å½Ó¿Ú·¢ÖжÏÇëÇóÐźţ¨ÖжÏÇëÇ󣩣¬ÈôÓÐÖжÏÓÅÏȼ¶Åб𣬽øÐÐÅÐÓÅ£»¢Æµ±Ç°Ö¸Áî

Ö´ÐÐÍêºó£¬CPU ½øÐÐÖжϻشð£¨ÖжÏÏìÓ¦£©£»¢ÇÖжÏÀàÐͺÅN ËÍCPU£»¢Èµ±Ç°µÄPSW¡¢CS¡¢

IP ÍÆÈë¶ÑÕ»£»¢ÉÇå³ýIF ºÍTF£»¢Ê£¨4*N£©×÷ΪIP£¬£¨4*N+2£©×÷ΪCS£»¢ËÖжÏ×Ó³ÌÐòÖ´ÐÐ

£¨ÖжϷþÎñ£©£»¢Ì¿ªÖжϣ»¢ÍIRET Ö¸ÁîʹIP¡¢CS ºÍPSW µ¯³ö¶ÑÕ»£»¢Î·µ»Ø±»ÖжϵijÌÐò £¨ÖжϷµ»Ø£©¡£

7£®ÔÚÖжÏÏìÓ¦×ÜÏßÖÜÆÚÖУ¬µÚÒ»¸öINTA Âö³åÏòÍⲿµç·˵Ã÷ʲô£¿µÚ¶þ¸öINTA Âö³åÄØ£¿

½â´ð£ºµÚÒ»¸öINTA Âö³å----

¡¤Ê¹IRR µÄËø´æ¹¦ÄÜʧЧ¡£(Ä¿µÄÊÇ·ÀÖ¹´ËʱÔÙÀ´Öжϵ¼ÖÂÖжÏÏìÓ¦µÄ´íÎó)£¬µ½µÚ¶þ¸ö

INTA ʱ»Ö¸´ÓÐЧ¡£

¡¤Ê¹ISR µÄÏàӦλÖÃ룬±íʾÒÑΪ¸ÃÖжÏÇëÇó·þÎñ¡£ ¡¤Ê¹IRR ÏàӦλÇå0¡£ µÚ¶þ¸öINTA Âö³å----

¡¤ËÍÖжÏÀàÐÍÂ룬ÖжÏÀàÐÍÂëÓÉÓû§±à³ÌºÍÖжÏÇëÇóÒý½ÅµÄ±àÂ빲ͬ¾ö¶¨£¬Ïê¼û±à³Ì²¿ ·Ö¡£

¡¤Èç¹û8259A ¹¤×÷ÔÚÖжÏ×Ô¶¯½áÊø·½Ê½£¬Ôò´ËʱÇå³ýISR µÄÏàӦλ¡£ 8£®Öжϴ¦ÀíµÄÖ÷Òª²½ÖèÓÐÄÄЩ£¿ÊÔ˵Ã÷ÿһ²½µÄÖ÷Òª¶¯×÷¡£

9£®Èç¹û8259A°´ÈçÏÂÅäÖ㺲»ÐèÒªICW4£¬µ¥Æ¬£¬ÖжÏÇëÇó±ßÑØ´¥·¢£¬ÔòICW1µÄֵΪ¶àÉÙ£¿¡£

ÈçÒªÇó²úÉúµÄÖжÏÀàÐÍÂëÔÚ70H~77HÖ®¼ä£¬ÔòICW2µÄÖµÊǶàÉÙ£¿ ½â´ð£ºICW1=¡Á¡Á¡Á1 0¡Á10B£»ICW2=0111 0¡Á¡Á¡ÁB

10£®ÔÚÉÏÌâÖУ¬¼ÙÉè8259A µÄ¶Ë¿ÚµØÖ·Îª00H ºÍ01H£¬²ÉÓÃÖжÏ×Ô¶¯½áÊø£¬¹Ì¶¨ÓÅÏȼ¶£¬

Íê³É¶Ô¸Ã8259A µÄ³õʼ»¯¡£ ½â´ð£º³õʼ»¯³ÌÐòÈçÏ¡£ MOV AL,¡Á¡Á¡Á1 0¡Á10B£» OUT 00H,AL£»ICW1 MOV AL,0111 0¡Á¡Á¡ÁB£» OUT 01H,AL£»ICW2

(MOV AL,0000 0¡Á11B;ICW4

OUT 01H,AL;ǰÌáICW1=¡Á¡Á¡Á1 0¡Á11B£© MOV AL,00H

OUT 00H,AL£»OCW2

11£®Èç¹û8259AÓÃÔÚ80386DXϵͳÖУ¬²ÉÓÃÒ»°ãµÄEOI£¬»º³åģʽ£¬Ö÷Ƭ£¬ÌØÊâȫǶÌ×·½Ê½£¬

ÔòICW4µÄÖµÊÇʲô£¿ ½â´ð£ºICW4=0001 1101B

12£®Èç¹ûOCW2µÈÓÚ67H£¬ÔòÔÊÐíºÎÖÖÓÅÏȼ¶²ßÂÔ£¿ÎªÊ²Ã´£¿ ½â´ð£º67H=0110 0111B£¬¹Ì¶¨ÓÅÏȼ¶¡£

13£®Ä³ÏµÍ³ÖÐCPUΪ8088£¬Íâ½ÓһƬ8259A×÷ΪÖжϿØÖÆÆ÷£¬Îå¸öÖжÏÔ´·Ö±ð´ÓIR0~IR4ÒÔ

Âö³å·½Ê½ÒýÈëϵͳ£¬ÖжÏÀàÐÍÂë·Ö±ðΪ48H~4CH£¬ÖжϷþÎñ×Ó³ÌÐòÈë¿ÚµÄÆ«ÒÆµØÖ··Ö±ð

Ϊ2500H£¬4080H£¬4C05H£¬5540HºÍ6FFFH£¬¶ÎµØÖ·¾ùÊÇ2000H£¬ÔÊÐíËüÃÇÒÔ·ÇÖжÏ×Ô

¶¯½áÊø·½Ê½£¬¹Ì¶¨ÓÅÏȼ¶¹¤×÷£¬ÇëÍê³É£º

¢Ù »­³öÓ²¼þÁ¬½Óͼ£¬Ð´³ö´Ëʱ8259A µÄ¶Ë¿ÚµØÖ·£»

¢Ú ±àд8259A µÄ³õʼ»¯³ÌÐò£¬£¨°üÀ¨¶ÔÖжÏÏòÁ¿±íµÄÉèÖã©¡£

14£®Ä³ÏµÍ³ÖÐÉèÖÃÁ½Æ¬8259A¼¶ÁªÊ¹Ó㬴ÓƬ½ÓÖÁÖ÷ƬµÄIR2£¬Í¬Ê±£¬Á½Æ¬Ð¾Æ¬µÄIR3ÉÏ»¹·Ö

±ðÁ¬½ÓÁËÒ»¸öÖжÏÔ´£¬ÒªÇóµçƽ´¥·¢£¬ÆÕͨEOI½áÊø¡£±àдȫ²¿µÄ³õʼ»¯³ÌÐò¡££¨¶Ë¿ÚµØ Ö·¿ÉÓÃ×Ô¶¨£©

15£®Éè8253 µÄͨµÀ2 ¹¤×÷ÔÚ¼ÆÊý·½Ê½£¬Íⲿʼþ´ÓCLK2ÒýÈ룬ͨµÀ2 ¼ÆÂú500 ¸öÂö³åÏòCPU

·¢³öÖжÏÇëÇó£¬CPUÏìÓ¦ÕâÒ»ÖжϺóÖØÐÂдÈë¼ÆÊýÖµ£¬¿ªÊ¼¼ÆÊý£¬ÒÔºó±£³Öÿ2 ÃëÖÓÏò

CPU·¢³öÒ»¸öÖжÏÇëÇó¡£¼ÙÉèÌõ¼þÈçÏ£º ¢ÙÍⲿ¼ÆÊýʼþƵÂÊΪ1kHz£» ¢ÚÖжÏÀàÐÍÂëΪ54H£»

ÊÔÍê³ÉÓ²¼þÁ¬½Óͼ²¢±àдÍê³É¸ÃÈÎÎñµÄÈ«²¿³ÌÐò£¨°üÀ¨Ð¾Æ¬µÄ³õʼ»¯£¬ÖжÏÏòÁ¿µÄÉèÖã¬

ÖжϷþÎñ×Ó³ÌÐò£©¡£

16£®DMA ¿ØÖÆÆ÷8237A µÄÖ÷Òª¹¦ÄÜÊÇʲô?Æäµ¥×Ö½Ú´«Ê䷽ʽÓëÊý¾Ý¿é´«Ê䷽ʽÓÐʲô²» ͬ£¿

17£®Ä³8086 ϵͳÖÐʹÓÃ8237A Íê³É´Ó´æ´¢Æ÷µ½´æ´¢Æ÷µÄÊý¾Ý´«ËÍ£¬ÒÑÖªÔ´Êý¾Ý¿éÊ×µØÖ·µÄ

Æ«ÒÆµØÖ·ÖµÎª1000H£¬Ä¿±êÊý¾Ý¿éÊ×µØÖ·µÄÆ«ÒÆµØÖ·ÖµÎª2050H£¬Êý¾Ý¿é³¤¶ÈΪ1K ×Ö½Ú£¬

µØÖ·ÔöÁ¿Ð޸ġ£ÊÔ±àд³õʼ»¯³ÌÐò¡££¨¶Ë¿ÚµØÖ··Ö±ðΪ00H¡«0FH£©

18£®Ä³ÏµÍ³ÖÐʹÓÃ8237A ͨµÀ0 Íê³É´Ó´æ´¢Æ÷µ½ÍâÉè¶Ë¿ÚµÄÊý¾Ý´«ËÍÈÎÎñ(Êý¾Ý¿é´«Ê䷽ʽ)£¬

ÈôÒÑ֪оƬµÄ¶Ë¿ÚµØÖ··Ö±ðΪEEE0H¡«EEEFH£¬ÒªÇóͨ¹ýͨµÀ0 ½«´æ´¢Æ÷ÖÐÆ«ÒƵØÖ·Îª

1000H~10FFH µÄÄÚÈÝ´«Ë͵½ÏÔʾÆ÷Êä³ö£¬DREQ¡¢DACK ¾ùΪµÍÓÐЧ£¬¹Ì¶¨ÓÅÏȼ¶¡£ÊÔ

±àд³õʼ»¯³ÌÐò¡£