ÊéÄ¿£º»ã±àÓïÑÔ £¨µÚ¶þ°æ£© ×÷Õß: Íõˬ
³ö°æÉç: Ç廪´óѧ³ö°æÉç
µÚÒ»Õ »ù´¡ÖªÊ¶
´æ´¢µ¥Ôª
´æ´¢Æ÷±»»®·ÖΪÈô¸É¸ö´æ´¢µ¥Ôª,ÿ¸ö´æ´¢µ¥Ôª´Ó0¿ªÊ¼Ë³Ðò±àºÅ.
΢ÐÍ»ú´æ´¢µ¥Ôª¿ÉÒÔ´æ´¢Ò»¸öbyte,¼´8¸ö¶þ½øÖÆλ.Ò»¸ö´æ´¢Æ÷ÓÐ128¸ö´æ´¢µ¥Ôª,Ëü¿ÉÒÔ´æ´¢128¸öbyte.
CPU¶Ô´æ´¢Æ÷µÄ¶Áд
? CPUÏë¶ÔÊý¾Ý½øÐжÁд£¬±ØÐëºÍÍⲿÆ÷¼þ½øÐÐ3ÖÖÐÅÏ¢µÄ½»»¥£º
? ´æ´¢µ¥ÔªµØÖ·(µØÖ·ÐÅÏ¢)
? ²Ù×÷Æ÷¼þ£¬¶Á»òдµÄÃüÁî(¿ØÖÆÐÅÏ¢) ? ¶Á»òдµÄÊý¾Ý(Êý¾ÝÐÅÏ¢)
ÔÚ¼ÆËã»úÖÐרÃÅÓÐÁ¬½ÓCPUºÍÆäËûоƬµÄµ¼Ïß,ͨ³£³ÆΪ×ÜÏß. ´ÓÂß¼ÉÏÓÖ·ÖΪ3Àà:µØÖ·×ÜÏß¡¢¿ØÖÆ×ÜÏߺÍÊý¾Ý×ÜÏß.
µØÖ·×ÜÏß
? CPUͨ¹ýµØÖ·×ÜÏßÀ´Ö¸¶¨´æ´¢Æ÷µ¥Ôª¡£µØÖ·×ÜÏߵĿí¶È¾ö¶¨ÁËCPUµÄÑ°Ö·ÄÜÁ¦
? N³ÆΪCPUµØÖ·×ÜÏߵĿí¶È, CPUÓÐN¸ùµØÖ·Ïߣ¬¿ÉÑ°ÕÒ2µÄN´Î·½¸öÄÚ´æµ¥Ôª ¿ØÖÆ×ÜÏß
? ¿ØÖÆ×ÜÏߵĿí¶È¾ö¶¨ÁËCPU¶ÔÍⲿÆ÷¼þµÄ¿ØÖÆÄÜÁ¦ Êý¾Ý×ÜÏß
? CPUͨ¹ýÊý¾Ý×ÜÏߺÍÄÚ´æ»òÆäËûÆ÷¼þÖ®¼ä½øÐÐÊý¾Ý´«ËÍ£¬Êý¾Ý×ÜÏߵĿí¶È¾ö¶¨ÁËCPUºÍÍâ½çµÄÊý¾Ý´«ËÍËÙ¶È
? 8¸ùÊý¾Ý×ÜÏßÒ»´Î¿ÉÒÔ´«ËÍÒ»¸öÖ±½Ó.16¸ùÊý¾Ý×ÜÏßÒ»´Î¿É´«ËÍÁ½¸ö×Ö½Ú.
µÚ¶þÕ ¼Ä´æÆ÷
8086/8088CPUµÄ¼Ä´æÆ÷ÓÐ4Àࣺ
Êý¾Ý¼Ä´æÆ÷£ºAX¡¢BX¡¢CX¡¢DX (´æ·ÅÒ»°ãÐÔµÄÊý¾Ý,ÓÖ³ÆͨÓüĴæÆ÷) Ö¸Õë¼°±äÖ·¼Ä´æÆ÷£ºSP¡¢BP¡¢SI¡¢DI ¶Î¼Ä´æÆ÷£ºCS¡¢DS¡¢SSºÍES ¿ØÖƼĴæÆ÷£ºIPºÍFlags
AX (Accumulator)£¬ÓÃÀÛ¼ÓÆ÷½øÐеIJÙ×÷¿ÉÄÜÐèÒª¸üÉÙʱ¼ä¡£ÀÛ¼ÓÆ÷¿ÉÓÃÓڳˡ¢³ý¡¢ÊäÈë/Êä³öµÈ²Ù×÷£»
BX³ÆΪ»ùµØÖ·¼Ä´æÆ÷(Base Register)£¬¿É×÷ͨÓüĴæÆ÷Óã¬ÔÚ¼ÆËã´æ´¢Æ÷µØַʱ£¬³£ÓÃ×÷»ùÖ·´æ´¢Æ÷£»
CX³ÆΪ¼ÆÊý¼Ä´æÆ÷(Count Register)£¬³£ÓÃ×÷Ñ»·¼ÆÊýÆ÷£»ÔÚλ²Ù×÷ÖУ¬ÒªÓÃCLÀ´Ö¸Ã÷ÒÆλµÄλÊý£»
DX³ÆΪÊý¾Ý¼Ä´æÆ÷(Data Register)¡£ÔÚ½øÐÐË«×ֵijˡ¢³ýÔËËãʱ£¬Ëü¿É×÷ΪĬÈϵIJÙ×÷Êý²ÎÓëÔËË㣬Ҳ¿ÉÓÃÓÚ´æ·ÅI/OµÄ¶Ë¿ÚµØÖ·¡£ CS£º´úÂë¶Î¼Ä´æÆ÷ DS£ºÊý¾Ý¶Î¼Ä´æÆ÷ SS£º¶ÑÕ»¶Î¼Ä´æÆ÷ ES£º¸½¼Ó¶Î¼Ä´æÆ÷ IP£ºÖ¸ÁîÖ¸Õë¼Ä´æÆ÷
CSºÍIP¾ÍָʾÁËCPUµ±Ç°Òª¶ÁÈ¡Ö¸ÁîµÄµØÖ·
¼¸Ìõ»ã±àÖ¸Áî
ÔÚдһÌõ»ã±àÖ¸Áî»òÒ»¸ö¼Ä´æÆ÷µÄÃû³Æʱ²»Çø·Ö´óСд. ÎïÀíµØÖ·
CPUͨ¹ýµØÖ·×ÜÏßËÍÈë´æ´¢Æ÷µÄ,±ØÐëÊÇÒ»¸öÄÚ´æµ¥ÔªµÄÎïÀíµØÖ·.
16λ½á¹¹µÄCPU
ÔËËãÆ÷Ò»´Î×î¶à¿ÉÒÔ´¦Àí16λµÄÊý¾Ý; ¼Ä´æÆ÷µÄ×î´ó¿í¶ÈΪ16λ;
¼Ä´æÆ÷ºÍÔËËãÆ÷Ö®¼äµÄͨ·Ϊ16λ.
8086CPU¸ø³öÎïÀíµØÖ·µÄ·½·¨
µØÖ·¼Ó·¨Æ÷²ÉÓá°ÎïÀíµØÖ· = ¶ÎµØÖ· * 16 + Æ«ÒƵØÖ·¡±µÄ·½·¨ºÏ³ÉÎïÀíµØÖ· ¶ÎµÄ¸ÅÄî
Ò»¸ö¶ÎµÄ×î´ó³¤¶Èλ64KB