µÚ1Õ ΢ÐͼÆËã»úϵͳ ¡²Ï°Ìâ1.1¡³¼ò´ðÌâ
£¨1£©¼ÆËã»ú×Ö³¤£¨Word£©Ö¸µÄÊÇʲô£¿ £¨2£©×ÜÏßÐźŷֳÉÄÄÈý×éÐźţ¿
£¨3£©PC»úÖ÷´æ²ÉÓÃDRAM×é³É»¹ÊÇSRAM×é³É£¿ £¨4£©CacheÊÇʲôÒâ˼£¿ £¨5£©ROM-BIOSÊÇʲô£¿ £¨6£©ÖжÏÊÇʲô£¿
£¨7£©32λPC»úÖ÷°åµÄоƬ×éÊÇʲô£¿ £¨8£©½Ì²ÄÖÐMASMÊÇָʲô£¿
£¨9£©´¦ÀíÆ÷µÄ¡°È¡Ö¸£ÒëÂë£Ö´ÐÐÖÜÆÚ¡±ÊÇָʲô£¿
£¨10£©±¾¿Î³ÌµÄÖ÷ÒªÄÚÈÝÊôÓÚ¼ÆËã»úϵͳ²ã´Î½á¹¹ÖÐÄĸö²ã´Î£¿
¡²½â´ð¡³
¢Ù ´¦ÀíÆ÷ÿ¸öµ¥Î»Ê±¼ä¿ÉÒÔ´¦ÀíµÄ¶þ½øÖÆÊý¾ÝλÊý³Æ¼ÆËã»ú×Ö³¤¡£ ¢Ú ×ÜÏßÐźŷֳÉÈý×飬·Ö±ðÊÇÊý¾Ý×ÜÏß¡¢µØÖ·×ÜÏߺͿØÖÆ×ÜÏß¡£ ¢Û PC»úÖ÷´æ²ÉÓÃDRAM×é³É¡£
¢Ü ¸ßËÙ»º³å´æ´¢Æ÷CacheÊÇ´¦ÀíÆ÷ÓëÖ÷´æÖ®¼äËٶȺܿ쵫ÈÝÁ¿½ÏСµÄ´æ´¢Æ÷¡£
¢Ý ROM-BIOSÊÇ¡°»ù±¾ÊäÈëÊä³öϵͳ¡±£¬²Ù×÷ϵͳͨ¹ý¶ÔBIOSµÄµ÷ÓÃÇý¶¯¸÷Ó²¼þÉ豸£¬Óû§Ò²¿ÉÒÔÔÚÓ¦ÓóÌÐòÖе÷ÓÃBIOSÖеÄÐí¶à¹¦ÄÜ¡£
¢Þ ÖжÏÊÇCPUÕý³£Ö´ÐгÌÐòµÄÁ÷³Ì±»Ä³ÖÖÔÒò´ò¶Ï¡¢²¢ÔÝʱֹͣ£¬×ªÏòÖ´ÐÐÊÂÏȰ²ÅźõÄÒ»¶Î´¦Àí³ÌÐò£¬´ý¸Ã´¦Àí³ÌÐò½áÊøºóÈÔ·µ»Ø±»ÖжϵÄÖ¸Áî¼ÌÐøÖ´ÐеĹý³Ì¡£
¢ß Ö÷°åоƬ×éÊÇÖ÷°åµÄºËÐIJ¿¼þ£¬ËüÌṩÖ÷°åÉϵĹؼüÂß¼µç·¡£ ¢à MASMÊÇ΢Èí¿ª·¢µÄºê»ã±à³ÌÐò¡£
¢á Ö¸ÁîµÄ´¦Àí¹ý³Ì¡£´¦ÀíÆ÷µÄ¡°È¡Ö¸¡ªÒëÂ롪ִÐÐÖÜÆÚ¡± ÊÇÖ¸´¦ÀíÆ÷´ÓÖ÷´æ´¢Æ÷¶ÁȡָÁ¼ò³ÆÈ¡Ö¸£©£¬·ÒëÖ¸Áî´úÂëµÄ¹¦ÄÜ£¨¼ò³ÆÒëÂ룩£¬È»ºóÖ´ÐÐÖ¸ÁîËù¹æ¶¨µÄ²Ù×÷£¨¼ò³ÆÖ´ÐУ©µÄ¹ý³Ì¡£
¢â »úÆ÷ÓïÑԲ㣬¼´Ö¸Á½á¹¹¡£
£¨Ñ§ÉúºÜ¶àÈÏΪÊÇ£º»ã±àÓïÑԲ㡣ǰ4ÕÂÖ÷񻃾¼°»ã±àÓïÑÔ£¬µ«±¾Ê黹ÓкܶദÀíÆ÷ÔÀíµÈÄÚÈÝ£© ¡²Ï°Ìâ1.2¡³ÅжÏÌâ
£¨1£©Èí¼þÓëÓ²¼þµÄµÈ¼ÛÐÔÔÀí˵Ã÷ÈíÓ²¼þÔÚ¹¦ÄÜ¡¢ÐÔÄܺͳɱ¾µÈ·½ÃæÊǵȼ۵ġ£ £¨2£©IA-64½á¹¹ÊÇIA-32½á¹¹µÄ64λÀ©Õ¹£¬Ò²¾ÍÊÇIntel 64½á¹¹¡£
£¨3£©8086µÄÊý¾Ý×ÜÏßΪ16룬Ҳ¾ÍÊÇ˵8086µÄÊý¾Ý×ÜÏߵĸöÊý¡¢»ò˵ÌõÊý¡¢Î»ÊýÊÇ16¡£ £¨4£©Î¢»úÖ÷´æÖ»ÒªÊ¹ÓÃRAMоƬ¾Í¿ÉÒÔÁË¡£
£¨5£©´¦ÀíÆ÷²¢²»Ö±½ÓÁ¬½ÓÍâÉ裬¶øÊÇͨ¹ýI/O½Ó¿Úµç·ÓëÍâÉèÁ¬½Ó¡£ £¨6£©´¦ÀíÆ÷ÊÇ΢»úµÄ¿ØÖÆÖÐÐÄ£¬ÄÚ²¿Ö»°üÀ¨5´ó¹¦Äܲ¿¼þµÄ¿ØÖÆÆ÷¡£ £¨7£©WindowsµÄÄ£ÄâDOS»·¾³Óë¿ØÖÆÌ¨»·¾³ÊÇÒ»ÑùµÄ¡£ £¨8£©16λIBM PC/AT»ú²ÉÓÃISAϵͳ×ÜÏß¡£
£¨9£©IA-32´¦ÀíÆ÷ÎüÈ¡ÁËRISC¼¼ÊõÌØ³¤¡£RISCÊÇÖ¸¸´ÔÓÖ¸Á¼ÆËã»ú¡£ £¨10£©´¦ÀíÆ÷½øÐжÁ²Ù×÷£¬¾ÍÊǰÑÊý¾Ý´Ó´¦ÀíÆ÷ÄÚ²¿¶Á³ö´«Ë͸øÖ÷´æ»òÍâÉè¡£ ¡²½â´ð¡³
¢Ù ´í ¢Þ ´í
¢Ú ´í ¢ß ´í
¢Û ¶Ô ¢à ¶Ô
¢Ü ´í ¢á ´í
¢Ý ¶Ô ¢â ´í
¡²Ï°Ìâ1.3¡³Ìî¿ÕÌâ
£¨1£©CPUÊÇÓ¢ÎÄ___________µÄËõд£¬ÖÐÎÄÒëΪ___________£¬Î¢ÐÍ»ú²ÉÓÃ___________оƬ¹¹³ÉCPU¡£ £¨2£©Intel 8086Ö§³Ö___________ÈÝÁ¿Ö÷´æ¿Õ¼ä£¬80486Ö§³Ö___________ÈÝÁ¿Ö÷´æ¿Õ¼ä¡£
£¨3£©¶þ½øÖÆ16λ¹²ÓÐ___________¸ö±àÂë×éºÏ£¬Èç¹ûһλ¶ÔÓ¦´¦ÀíÆ÷Ò»¸öµØÖ·Ðźţ¬16λµØÖ·ÐźŹ²ÄÜѰַ___________ÈÝÁ¿Ö÷´æ¿Õ¼ä¡£
£¨4£© DOSÖ÷ÒªÖ§³ÖÁ½ÖÖ¿ÉÖ´ÐÐÎļþ£¬ËüÃǵÄÀ©Õ¹Ãû·Ö±ðÊÇ___________ºÍ___________¡£
£¨5£©Ó¢ÎÄËõдISA³£±íʾPC»ú¹¤Òµ±ê×¼½á¹¹£¨Industry Standard Architecture£©×ÜÏߣ¬Ò²±íʾָÁ½á¹¹£¬ºóÕßµÄÓ¢ÎÄÔÎÄÊÇ___________¡£
£¨6£©WindowsµÄÎļþ¼Ð¶ÔÓ¦µÄרҵÊõÓïÊÇ___________¡£
£¨7£©PentiumϵÁд¦ÀíÆ÷µÄ¶àýÌåÖ¸ÁîÓÐ___________£¬SSE£¬SSE2ºÍ___________ÀàÖ¸Áî¡£ £¨8£©Pentium´¦ÀíÆ÷²ÉÓÃ___________λÊý¾Ý×ÜÏßÓëÖ÷´æÏàÁ¬¡£
£¨9£©×î³õÓÉ___________¹«Ë¾²ÉÓÃIntel 8088´¦ÀíÆ÷ºÍ___________²Ù×÷ÏµÍ³ÍÆ³öPC»ú¡£ £¨10£©µ±Ç°32λPC»úÖ÷Òª²ÉÓÃ___________×ÜÏßÁ¬½ÓI/O½Ó¿Úµç·¿¨¡£ ¡²½â´ð¡³
¢Ù Central Processing Unit£¬ÖÐÑë´¦Àíµ¥Ôª£¬´¦ÀíÆ÷ ¢Ú 1MB£¬4GB ¢Û 216£¬64KB ¢Ü EXE£¬COM
¢Ý Instruction Set Architecture ¢Þ Ŀ¼
¢ß MMX£¬SSE3 ¢à 64
¢á IBM£¬DOS ¢â PCI
¡²Ï°Ìâ1.4¡³ËµÃ÷΢ÐͼÆËã»úϵͳµÄÓ²¼þ×é³É¼°¸÷²¿·Ö×÷Óá£
¡²½â´ð¡³
CPU£ºCPUÒ²³Æ´¦ÀíÆ÷£¬ÊÇ΢»úµÄºËÐÄ¡£Ëü²ÉÓôó¹æÄ£¼¯³Éµç·оƬ£¬Ð¾Æ¬ÄÚ¼¯³ÉÁË¿ØÖÆÆ÷¡¢ÔËËãÆ÷ºÍÈô¸É¸ßËÙ´æ´¢µ¥Ôª£¨¼´¼Ä´æÆ÷£©¡£´¦ÀíÆ÷¼°ÆäÖ§³Öµç·¹¹³ÉÁË΢»úϵͳµÄ¿ØÖÆÖÐÐÄ£¬¶ÔϵͳµÄ¸÷¸ö²¿¼þ½øÐÐͳһµÄе÷ºÍ¿ØÖÆ¡£
´æ´¢Æ÷£º´æ´¢Æ÷ÊÇ´æ·Å³ÌÐòºÍÊý¾ÝµÄ²¿¼þ¡£
ÍⲿÉ豸£ºÍⲿÉ豸ÊÇÖ¸¿ÉÓë΢»ú½øÐн»»¥µÄÊäÈ루Input£©É豸ºÍÊä³ö£¨Output£©É豸£¬Ò²³ÆI/OÉ豸¡£I/OÉ豸ͨ¹ýI/O½Ó¿ÚÓëÖ÷»úÁ¬½Ó¡£
×ÜÏߣº»¥Á¬¸÷¸ö²¿¼þµÄ¹²ÓÃͨµÀ£¬Ö÷Òªº¬Êý¾Ý×ÜÏß¡¢µØÖ·×ÜÏߺͿØÖÆ×ÜÏßÐźš£
¡²Ï°Ìâ1.5¡³Ê²Ã´ÊÇͨÓÃ΢´¦ÀíÆ÷¡¢µ¥Æ¬»ú£¨Î¢¿ØÖÆÆ÷£©¡¢DSPоƬ¡¢Ç¶Èëʽϵͳ£¿
¡²½â´ð¡³
ͨÓÃ΢´¦ÀíÆ÷£ºÊʺϽϹãµÄÓ¦ÓÃÁìÓòµÄ΢´¦ÀíÆ÷£¬ÀýÈç×°ÔÚPC»ú¡¢±Ê¼Ç±¾µçÄÔ¡¢¹¤×÷Õ¾¡¢·þÎñÆ÷ÉϵÄ΢´¦ÀíÆ÷¡£
µ¥Æ¬»ú£ºÊÇָͨ³£ÓÃÓÚ¿ØÖÆÁìÓòµÄ΢´¦ÀíÆ÷оƬ£¬ÆäÄÚ²¿³ýCPUÍ⻹¼¯³ÉÁ˼ÆËã»úµÄÆäËûһЩÖ÷Òª²¿¼þ£¬Ö»ÐèÅäÉÏÉÙÁ¿µÄÍⲿµç·ºÍÉ豸£¬¾Í¿ÉÒÔ¹¹³É¾ßÌåµÄÓ¦ÓÃϵͳ¡£
DSPоƬ£º³ÆÊý×ÖÐźŴ¦ÀíÆ÷£¬Ò²ÊÇÒ»ÖÖ΢¿ØÖÆÆ÷£¬Æä¸üÊʺϴ¦Àí¸ßËÙµÄÊý×ÖÐźţ¬ÄÚ²¿¼¯³ÉÓиßËٳ˷¨Æ÷£¬Äܹ»½øÐпìËٳ˷¨ºÍ¼Ó·¨ÔËËã¡£
ǶÈëʽϵͳ£ºÀûÓÃ΢¿ØÖÆÆ÷¡¢Êý×ÖÐźŴ¦ÀíÆ÷»òͨÓÃ΢´¦ÀíÆ÷£¬½áºÏ¾ßÌåÓ¦Óù¹³ÉµÄ¿ØÖÆÏµÍ³¡£
¡²Ï°Ìâ1.6¡³×ÛÊöIntel 80x86ϵÁд¦ÀíÆ÷ÔÚÖ¸Á·½ÃæµÄ·¢Õ¹¡£
¡²½â´ð¡³
8086µì¶¨ÁË»ù±¾µÄ16λָÁ£¬80286ÌṩÁ˱£»¤·½Ê½µÄ¸÷ÖÖÖ¸Á80386½«Ö¸Áî¼¯È«ÃæÌáÉýΪ32룬80486ÈÚÈëÁ˸¡µãÊý¾Ý´¦ÀíÖ¸Á±¼ÌÚϵÁÐÂ½ÐøÔö¼ÓÁ˶àýÌåÖ¸ÁîMMX¡¢SSE¡¢SSE2ºÍSSE3£¬×îеı¼ÌÚ4´¦ÀíÆ÷»¹Ö§³Ö64λָÁ¡£
ÌâÍâ»°£º´ó¼Ò¿ÉÒÔͨ¹ýÔĶÁÏà¹Ø×ÊÁÏ¡¢²éѯ»¥ÁªÍø»ñµÃ¸ü¼ÓÏêϸµÄ·¢Õ¹Çé¿ö¡£¿ÉÒÔ¿¼ÂÇ×éÖ¯³Éһƪ»ò¶àƪÂÛÎÄ¡£
¡²Ï°Ìâ1.7¡³Çø±ðÈçϸÅÄÖú¼Ç·û¡¢»ã±àÓïÑÔ¡¢»ã±àÓïÑÔ³ÌÐòºÍ»ã±à³ÌÐò¡£
¡²½â´ð¡³
Öú¼Ç·û£ºÈËÃDzÉÓñãÓÚ¼ÇÒä¡¢²¢ÄÜÃèÊöÖ¸ÁÄܵķûºÅÀ´±íʾ»úÆ÷Ö¸Áî²Ù×÷Â룬¸Ã·ûºÅ³ÆÎªÖ¸ÁîÖú¼Ç·û¡£ »ã±àÓïÑÔ£ºÓÃÖú¼Ç·û±íʾµÄÖ¸ÁîÒÔ¼°Ê¹ÓÃËüÃDZàд³ÌÐòµÄ¹æÔò¾ÍÐγɻã±àÓïÑÔ¡£ »ã±àÓïÑÔ³ÌÐò£ºÓûã±àÓïÑÔÊéдµÄ³ÌÐò¾ÍÊÇ»ã±àÓïÑÔ³ÌÐò£¬»ò³Æ»ã±àÓïÑÔÔ´³ÌÐò¡£
»ã±à³ÌÐò£º»ã±àÓïÑÔÔ´³ÌÐòÒª·Òë³É»úÆ÷ÓïÑÔ³ÌÐò²Å¿ÉÒÔÓÉ´¦ÀíÆ÷Ö´ÐС£Õâ¸ö·ÒëµÄ¹ý³Ì³ÆÎª¡°»ã±à¡±£¬Íê³É»ã±à¹¤×÷µÄ³ÌÐò¾ÍÊÇ»ã±à³ÌÐò£¨Assembler£©¡£
¡²Ï°Ìâ1.8¡³Çø±ðÈçϸÅÄ·¾¶¡¢¾ø¶Ô·¾¶¡¢Ïà¶Ô·¾¶¡¢µ±Ç°Ä¿Â¼¡£ÏµÍ³´ÅÅÌÉÏ´æÔÚij¸ö¿ÉÖ´ÐÐÎļþ£¬µ«ÔÚDOS»·¾³ÊäÈëÆäÎļþÃûÈ´ÌáʾûÓÐÕâ¸öÎļþ£¬ÊÇʲôÔÒò£¿
¡²½â´ð¡³
·¾¶£º²Ù×÷ϵͳÒÔĿ¼ÐÎʽ¹ÜÀí´ÅÅÌÉϵÄÎļþ£¬ÎļþËùÔڵķÖÇøºÍĿ¼¾ÍÊǸÃÎļþµÄ·¾¶¡£
¾ø¶Ô·¾¶£º´Ó¸ùĿ¼µ½ÎļþËùÔÚĿ¼µÄÍêÕû·¾¶³ÆÎª¡°¾ø¶Ô·¾¶¡±¡£ÊDZ£Ö¤ÎļþΨһÐԵıêʾ·½·¨¡£ Ïà¶Ô·¾¶£º´Óϵͳµ±Ç°Ä¿Â¼µ½ÎļþËùÔÚĿ¼µÄ·¾¶³ÆÎªÏà¶Ô·¾¶¡£ µ±Ç°Ä¿Â¼£ºÓû§µ±Ç°ËùÔÚµÄĿ¼¾ÍÊǵ±Ç°Ä¿Â¼¡£
Ö¸Ã÷µÄ·¾¶²»ÕýÈ·£¬»òÕßÖ´ÐÐÁËÁíÍâÒ»¸öͬÃûµÄÎļþ¡£
¡²Ï°Ìâ1.9¡³Ê²Ã´ÊÇĦ¶û¶¨ÂÉ£¿ËüÄÜÓÀ¾Ã³ÉÁ¢Âð£¿
¡²½â´ð¡³
ÿ18¸öÔ£¬¼¯³Éµç·µÄÐÔÄܽ«Ìá¸ßÒ»±¶£¬¶øÆä¼Û¸ñ½«½µµÍÒ»°ë¡££¨1965Ä꣬Intel¹«Ë¾µÄ´´Ê¼ÈË֮һĦ¶ûÔ¤ÑÔ£º¼¯³Éµç·Éϵľ§Ìå¹ÜÃܶÈÿÄ꽫·±¶¡£ÏÖÔÚÕâ¸öÔ¤ÑÔͨ³£±í´ïΪ£ºÃ¿¸ô18¸öÔÂ¹èÆ¬Ãܶȣ¨¾§Ìå¹ÜÈÝÁ¿£©½«·±¶£»Ò²³£±»±í´ïΪ£ºÃ¿18¸öÔ£¬¼¯³Éµç·µÄÐÔÄܽ«Ìá¸ßÒ»±¶£¬¶øÆä¼Û¸ñ½«½µµÍÒ»°ë¡££©
²»ÄÜ¡£ÓÉÓÚµç×ÓÆ÷¼þµÄÎïÀí¼«ÏÞÔÚÇÄÈ»±Æ½ü£¬Ä¦¶û¶¨Âɲ»»áÓÀÔ¶³ÖÐø¡£
¡²Ï°Ìâ1.10¡³·ë¡¤ÅµÒÀÂü¼ÆËã»úµÄ»ù±¾Éè¼ÆË¼ÏëÊÇʲô£¿
£ £2
¡²½â´ð¡³
²ÉÓöþ½øÖÆÐÎʽ±íʾÊý¾ÝºÍÖ¸Áî¡£Ö¸ÁîÓɲÙ×÷ÂëºÍµØÖ·Âë×é³É¡£
½«³ÌÐòºÍÊý¾Ý´æ·ÅÔÚ´æ´¢Æ÷ÖУ¬¼ÆËã»úÔÚ¹¤×÷ʱ´Ó´æ´¢Æ÷È¡³öÖ¸Áî¼ÓÒÔÖ´ÐУ¬×Ô¶¯Íê³É¼ÆËãÈÎÎñ¡£Õâ¾ÍÊÇ¡°´æ´¢³ÌÐò¡±ºÍ¡°³ÌÐò¿ØÖÆ¡±£¨¼ò³Æ´æ´¢³ÌÐò¿ØÖÆ£©µÄ¸ÅÄî¡£
Ö¸ÁîµÄÖ´ÐÐÊÇ˳ÐòµÄ£¬¼´Ò»°ã°´ÕÕÖ¸ÁîÔÚ´æ´¢Æ÷Öдæ·ÅµÄ˳ÐòÖ´ÐУ¬³ÌÐò·ÖÖ§ÓÉ×ªÒÆÖ¸ÁîʵÏÖ¡£
¼ÆËã»úÓÉ´æ´¢Æ÷¡¢ÔËËãÆ÷¡¢¿ØÖÆÆ÷¡¢ÊäÈëÉ豸ºÍÊä³öÉ豸Îå´ó»ù±¾²¿¼þ×é³É£¬²¢¹æ¶¨ÁË5²¿·ÖµÄ»ù±¾¹¦ÄÜ¡£
¡²Ï°Ìâ1.11¡³¼ÆËã»úϵͳͨ³£»®·ÖΪÄö²ã´Î£¿ÆÕͨ¼ÆËã»úÓû§ºÍÈí¼þ¿ª·¢ÈËÔ±¶Ô¼ÆËã»úϵͳµÄÈÏʶһÑùÂð£¿
¡²½â´ð¡³
×îÉϲãÊÇÓû§²ã¡£ µÚ5²ãÊǸ߼¶ÓïÑԲ㡣 µÚ4²ãÊÇ»ã±àÓïÑԲ㡣 µÚ3²ãÊDzÙ×÷ϵͳ²ã¡£ µÚ2²ãÊÇ»úÆ÷ÓïÑԲ㡣 µÚ1²ãÊÇ¿ØÖƲ㡣 µÚ0²ãÊÇÊý×ֵ緲㡣
ÆÕͨ¼ÆËã»úÓû§ºÍÈí¼þÈËÔ±¶Ô¼ÆËã»úϵͳµÄÈÏʶ²¢²»Ò»Ñù¡£ÆÕͨ¼ÆËã»úÓû§¿´µ½µÄ¼ÆËã»ú£¬Ò²¾ÍÊÇÎÒÃÇ×îÊìϤµÄ¼ÆËã»ú£¬ÊôÓÚÓû§²ã£¬¶øÈí¼þÈËÔ±¿´µ½µÄÊôÓڸ߼¶ÓïÑÔ²ã»òÊÇ»ã±àÓïÑԲ㡣
¡²Ï°Ìâ1.12¡³Ê²Ã´ÊÇϵÁлúºÍ¼æÈÝ»ú£¿ÄãÔõÑùÀí½â¼ÆËã»úÖеġ°¼æÈÝ¡±ÌØÐÔ£¿ÀýÈ磬Äã¿ÉÒÔÓÃPC»úΪÀý£¬Ì¸Ì¸Äã¶ÔÈí¼þ¼æÈÝ£¨»ò¼æÈÝÐÔ£©µÄÈÏʶ£¬ËµÃ÷ΪʲôPC»ú¾ßÓÐÈç´ËÇ¿´óµÄÉúÃüÁ¦£¿
¡²½â´ð¡³
ϵÁлúÊÇÖ¸ÔÚÒ»¸ö³§¼ÒÉú²úµÄ¾ßÓÐÏàͬ¼ÆËã»ú½á¹¹£¬µ«¾ßÓв»Í¬×é³ÉºÍʵÏÖµÄһϵÁУ¨Family£©²»Í¬µµ´Î¡¢²»Í¬ÐͺŵĻúÆ÷¡£ ¼æÈÝ»úÊÇÖ¸²»Í¬³§¼ÒÉú²úµÄ¾ßÓÐÏàͬ¼ÆËã»ú½á¹¹£¨²»Í¬µÄ×é³ÉºÍʵÏÖ£©µÄ¼ÆËã»ú¡£
¼æÈÝÊÇÒ»¸ö¹ã·ºµÄ¸ÅÄ°üÀ¨Èí¼þ¼æÈÝ¡¢Ó²¼þ¼æÈÝ¡¢ÏµÍ³¼æÈݵȡ£ÆäÖÐÈí¼þ¼æÈÝÊÇָͬһ¸öÈí¼þ¿ÉÒÔ²»¼ÓÐ޸ĵØÔËÐÐÓÚÌåϵ½á¹¹ÏàͬµÄ¸÷µµ»úÆ÷£¬½á¹ûÒ»Ñùµ«ÔËÐÐʱ¼ä¿ÉÄܲ»Í¬¡£Èí¼þ¼æÈݿɴӻúÆ÷ÐÔÄܺÍÍÆ³öʱ¼ä·Ö³ÉÏòÉÏ£¨ÏòÏ£©ºÍÏòǰ£¨Ïòºó£©¼æÈÝ¡£ÀýÈç32λPC»ú¾ÍÂ½ÐøÔö¼ÓÁ˶Ը¡µã´¦ÀíÖ¸Áî¡¢¶àýÌåÖ¸ÁîµÈµÄÖ§³Ö¡£ÔÚ±£Ö¤Ïòºó¼æÈݵÄǰÌáÏ£¬²»¶Ï¸Ä½øÆä×é³ÉºÍʵÏÖ£¬ÑÓÐø¼ÆËã»ú½á¹¹µÄÉúÃü£¬²ÅʹµÃPC»ú¾ßÓÐÈç´ËÇ¿´óµÄÉúÃüÁ¦¡£
¡²Ï°Ìâ1.13¡³Ó¢Ìضû¹«Ë¾×îÐÂIntel 80x86´¦ÀíÆ÷ÊÇʲô£¿Çëͨ¹ý²éÔÄÏà¹Ø×ÊÁÏ£¨ÈçÓ¢ÌØ¶û¹«Ë¾ÍøÕ¾£©£¬ËµÃ÷ÆäÖ÷ÒªÌØµãºÍ²ÉÓõÄм¼Êõ¡£
¡²½â´ð¡³
¿áî£2¶àºË´¦ÀíÆ÷¡£
¡²Ï°Ìâ1.14¡³ËµÃ÷¸ß¼¶ÓïÑÔ¡¢»ã±àÓïÑÔ¡¢»úÆ÷ÓïÑÔÈýÕßµÄÇø±ð£¬Ì¸Ì¸Äã¶Ô»ã±àÓïÑÔµÄÈÏʶ¡£
¡²½â´ð¡³
¸ß¼¶ÓïÑÔÓë¾ßÌåµÄ¼ÆËã»úÓ²¼þÎ޹أ¬Æä±í´ï·½Ê½½Ó½üÓÚËùÃèÊöµÄÎÊÌ⣬Ò×ΪÈËÃǽÓÊܺÍÕÆÎÕ£¬Óø߼¶ÓïÑÔ±àд³ÌÐòÒª±ÈµÍ¼¶ÓïÑÔÈÝÒ׵ö࣬²¢´ó´ó¼ò»¯Á˳ÌÐòµÄ±àÖÆºÍµ÷ÊÔ£¬Ê¹±à³ÌЧÂʵõ½´ó·ù¶ÈµÄÌá¸ß¡£¶ø»ã±àÓïÑÔÊÇΪÁ˱ãÓÚÀí½âÓë¼ÇÒ䣬½«»úÆ÷Ö¸ÁîÓÃÖú¼Ç·û´úÌæ¶øÐγɵÄÒ»ÖÖÓïÑÔ¡£»ã±àÓïÑÔµÄÓï¾äͨ³£Óë»úÆ÷Ö¸Áî¶ÔÓ¦£¬Òò´Ë£¬»ã±àÓïÑÔÓë¾ßÌåµÄ¼ÆËã»úÓйأ¬ÊôÓڵͼ¶ÓïÑÔ¡£Ëü±È»úÆ÷ÓïÑÔÖ±¹Û£¬ÈÝÒ×Àí½âºÍ¼ÇÒ䣬Óûã±àÓïÑÔ±àдµÄ³ÌÐòÒ²±È»úÆ÷ÓïÑÔÒ×ÔĶÁ¡¢Ò×ÅÅ´í¡£»úÆ÷ÓïÑÔµÄÿһÌõ»úÆ÷Ö¸Áî¶¼ÊǶþ½øÖÆÐÎʽµÄÖ¸Áî´úÂ룬¼ÆËã»úÓ²¼þ¿ÉÒÔÖ±½Óʶ±ð¡£¸ß¼¶ÓïÑÔ³ÌÐòͨ³£Ò²ÐèÒª·Òë³É»ã±àÓïÑÔ³ÌÐò£¬ÔÙ½øÒ»²½·Òë³É»úÆ÷ÓïÑÔ´úÂë¡£ ¡²Ï°Ìâ1.15¡³
ΪÁ˸üºÃµØ½øÐбà³Ìʵ¼ù£¬Çë½øÈëWindows²Ù×÷ϵͳϵĿØÖÆÌ¨»·¾³£¨»òMS-DOSÄ£Äâ»·¾³£©£¬Á·Ï°³£ÓÃÃüÁî¡£
µÚ2Õ ´¦ÀíÆ÷½á¹¹ ¡²Ï°Ìâ2.1¡³¼ò´ðÌâ
£¨1£©ALUÊÇʲô£¿
£¨2£©8086µÄȡָΪʲô¿ÉÒÔ±»³ÆÎªÖ¸ÁîԤȡ£¿
£¨3£©PentiumµÄƬÉÏCache²ÉÓÃͳһ½á¹¹»¹ÊÇ·ÖÀë½á¹¹£¿ £¨4£©¶ÑÕ»µÄ´æÈ¡ÔÔòÊÇʲô£¿
£¨5£©±êÖ¾¼Ä´æÆ÷Ö÷Òª±£´æÄÄ·½ÃæµÄÐÅÏ¢£¿
£¨6£©Ö´ÐÐÁËÒ»Ìõ¼Ó·¨Ö¸Áîºó£¬·¢ÏÖZF£½1£¬ËµÃ÷½á¹ûÊÇʲô£¿
£¨7£©»ã±àÓïÑÔÖеıêʶ·ûÓë¸ß¼¶ÓïÑԵıäÁ¿ºÍ³£Á¿ÃûµÄ×é³ÉÔÔòÓб¾ÖʵÄÇø±ðÂ𣿠£¨8£©»ã±àÓïÑԵıêʶ·û´óСд²»Ãô¸ÐÒâζ×Åʲô£¿
£ £3
£¨9£©»ã±àÓïÑÔÔ´³ÌÐòÎļþÖУ¬ENDÓï¾äºóµÄÓï¾ä»á±»»ã±àÂ𣿠£¨10£©ÎªÊ²Ã´½«²éÕÒ²Ù×÷ÊýµÄ·½·¨³ÆÎªÊý¾ÝѰ¡°Ö·¡±·½Ê½£¿
¡²½â´ð¡³
¢Ù ALUÊÇËãÊõÂß¼ÔËËãµ¥Ôª£¬¸ºÔð´¦ÀíÆ÷ËùÄܽøÐеĸ÷ÖÖÔËË㣬Ö÷ÒªÊÇËãÊõÔËËãºÍÂß¼ÔËËã¡£
¢Ú ȡָÊÇÖ¸´ÓÖ÷´æÈ¡³öÖ¸Áî´úÂëͨ¹ý×ÜÏß´«Êäµ½´¦ÀíÆ÷ÄÚ²¿Ö¸Áî¼Ä´æÆ÷µÄ¹ý³Ì¡£8086·Ö³É×ÜÏß½Ó¿Úµ¥ÔªºÍÖ¸ÁîÖ´Ðе¥Ôª£¬¿ÉÒÔ¶ÀÁ¢²Ù×÷¡£ÔÚÖ´Ðе¥ÔªÖ´ÐÐÒ»ÌõÖ¸ÁîµÄͬʱ£¬×ÜÏß½Ó¿Úµ¥Ôª¿ÉÒÔ¶ÁÈ¡ÏÂÒ»ÌõÖ¸ÁµÈµ½Ö´ÐÐʱ²»ÐèÒª½øÐÐȡָÁË£¬ËùÒÔ³ÆÎªÔ¤È¡¡£
¢Û Pentium²ÉÓ÷ÖÀëµÄCache½á¹¹£¬Ò»¸öÓÃ×öÖ¸ÁîCache£¬Ò»¸öÓÃ×öÊý¾ÝCache¡£ ¢Ü ¶ÑÕ»µÄ´æÈ¡ÔÔòÊÇÏȽøºó³ö£¨Ò²³ÆÎªºó½øÏȳö£©²Ù×÷·½Ê½´æÈ¡Êý¾Ý¡£ ¢Ý ±êÖ¾¼Ä´æÆ÷Ö÷Òª±£´æ·´Ó³Ö¸ÁîÖ´Ðнá¹ûºÍ¿ØÖÆÖ¸ÁîÖ´ÐÐÐÎʽµÄÓйØ×´Ì¬¡£ ¢Þ Ö´ÐÐÁËÒ»Ìõ¼Ó·¨Ö¸Áîºó£¬·¢ÏÖZF£½1£¬±íÃ÷ÔËËã½á¹ûΪ0¡£ ¢ß ûÓС£
¢à »ã±àÓïÑԵıêʶ·û´óСд²»Ãô¸Ð£¬¼´±íʾ×Öĸ´óСд²»Í¬¡¢µ«±íʾͬһ¸ö·ûºÅ¡£ ¢á ²»»á¡£
¢â Ö¸ÁîµÄ²Ù×÷ÊýÐèҪͨ¹ý´æ´¢Æ÷µØÖ·»òI/OµØÖ·£¬²ÅÄܲéÕÒµ½Êý¾Ý±¾Éí£¬¹Ê³ÆÊý¾ÝѰַ·½Ê½¡£ ¡²Ï°Ìâ2.2¡³ÅжÏÌâ
£¨1£©³ÌÐò¼ÆÊýÆ÷PC»òÖ¸ÁîÖ¸ÕëEIP¼Ä´æÆ÷ÊôÓÚͨÓüĴæÆ÷¡£
£¨2£©´¦ÀíÆ÷µÄÖ¸ÁîÒëÂëÊǽ«Ö¸Áî´úÂë·Òë³ÉËü´ú±íµÄ¹¦ÄܵĹý³Ì£¬ÓëÊý×ֵ緵ÄÒëÂëÆ÷ÊDz»Í¬µÄ¸ÅÄî¡£ £¨3£©EAXÒ²±»³ÆÎªÀÛ¼ÓÆ÷£¬ÒòΪËüʹÓÃ×îÆµ·±¡£
£¨4£©´¦ÀíÆ÷µÄ´«ËÍÖ¸ÁîMOVÊôÓÚ»ã±àÓïÑÔµÄÖ´ÐÐÐÔÓï¾ä¡£
£¨5£©»ã±àÓïÑÔµÄÓï¾äÓÉÃ÷ÏÔµÄ4²¿·Ö×é³É£¬²»ÐèÒª·Ö¸ô·ûÇø±ð¡£
£¨6£©80¼õ90£¨80£90£©ÐèÒª½è룬ËùÒÔÖ´ÐнáÊøºó£¬½øÎ»±êÖ¾CF£½1¡£ £¨7£©MASM»ã±àÓïÑÔµÄ×¢ÊÍÓ÷ֺſªÊ¼£¬µ«²»ÄÜÓÃÖÐÎķֺ𣠣¨8£©IA-32´¦ÀíÆ÷ÔÚʵµØÖ··½Ê½Ï£¬²»ÄÜʹÓÃ32λ¼Ä´æÆ÷¡£ £¨9£©´æ´¢Æ÷Ѱַ·½Ê½µÄ²Ù×÷Êýµ±È»ÔÚÖ÷´æÁË¡£
£¨10£©±£»¤·½Ê½Ï£¬¶Î»ùµØÖ·¼ÓÆ«ÒÆµØÖ·¾ÍÊÇÏßÐÔµØÖ·»òÎïÀíµØÖ·¡£ ¡²½â´ð¡³
¢Ù ´í ¢Þ ¶Ô
¢Ú ¶Ô ¢ß ¶Ô
¢Û ¶Ô ¢à ´í
¢Ü ¶Ô ¢á ¶Ô
¢Ý ´í ¢â ¶Ô
¡²Ï°Ìâ2.3¡³Ìî¿ÕÌâ
£¨1£©¼Ä´æÆ÷EDXÊÇ__________λµÄ£¬ÆäÖеÍ16λµÄÃû³ÆÊÇ__________£¬»¹¿ÉÒÔ·Ö³ÉÁ½¸ö8λµÄ¼Ä´æÆ÷£¬ÆäÖÐD8¡«D15²¿·Ö¿ÉÒÔÓÃÃû³Æ__________±íʾ¡£
£¨2£©IA-32´¦ÀíÆ÷ÔÚ±£»¤·½Ê½Ï£¬¶Î¼Ä´æÆ÷ÊÇ__________λµÄ¡£
£¨3£©Âß¼µØÖ·ÓÉ__________ºÍ__________Á½²¿·Ö×é³É¡£´úÂë¶ÎÖÐÏÂÒ»ÌõÒªÖ´ÐеÄÖ¸ÁîÓÉCSºÍ__________¼Ä´æÆ÷ָʾ£¬ºóÕßÔÚʵµØÖ·Ä£ÐÍÖÐÆð×÷ÓõĽöÓÐ__________¼Ä´æÆ÷²¿·Ö¡£
£¨4£©½øÐÐ8λ¶þ½øÖÆÊý¼Ó·¨£º10111010£«01101100£¬8λ½á¹ûÊÇ__________£¬±êÖ¾PF£½__________¡£
£¨5£©ÔÚʵµØÖ·¹¤×÷·½Ê½Ï£¬Âß¼µØÖ·¡°7380H¡Ã400H¡±±íʾµÄÎïÀíµØÖ·ÊÇ__________£¬²¢ÇÒ¸Ã¶ÎÆðʼÓÚ__________ÎïÀíµØÖ·¡£ £¨6£©IA-32´¦ÀíÆ÷ÓÐ8¸ö32λͨÓüĴæÆ÷£¬ÆäÖÐEAX£¬__________£¬__________ºÍEDX£¬¿ÉÒÔ·Ö³É16λºÍ8λ²Ù×÷£»»¹ÓÐÁíÍâ4¸öÊÇ__________£¬__________£¬__________£¬ºÍ__________¡£
£¨7£©IA-32´¦ÀíÆ÷¸´Î»ºó£¬Ê×ÏȽøÈëÊÇ__________¹¤×÷·½Ê½¡£¸Ã¹¤×÷·½Ê½·Ö¶Î×î´ó²»³¬¹ý__________¡£
£¨8£©MASMÒªÇó»ã±àÓïÑÔÔ´³ÌÐòÎļþµÄÀ©Õ¹ÃûÊÇ_____________£¬»ã±à²úÉúÀ©Õ¹ÃûΪOBJµÄÎļþ±»³ÆÎª_____________Îļþ£¬±àд32λWindowsÓ¦ÓóÌÐòӦѡÔñ_____________´æ´¢Ä£ÐÍ¡£
£¨9£©³ýÍâÉèÊý¾ÝÍâµÄÊý¾ÝѰַ·½Ê½ÓÐ3À࣬·Ö±ð±»³ÆÎª_____________¡¢_____________ºÍ_____________¡£
£¨10£©ÓÃEBX×ö»ùµØÖ·Ö¸ÁĬÈϲÉÓÃ__________¶Î¼Ä´æÆ÷Ö¸ÏòµÄÊý¾Ý¶Î£»Èç¹û²ÉÓÃBP£¬EBP»òSP£¬ESP×÷Ϊ»ùµØÖ·Ö¸Õ룬ĬÈÏʹÓÃ__________¶Î¼Ä´æÆ÷Ö¸Ïò¶ÑÕ»¶Î¡£ ¡²½â´ð¡³
¢Ù 32£¬DX£¬DH ¢Ú 16
¢Û ¶ÎµØÖ·£¬Æ«ÒƵØÖ·£¬EIP£¬IP ¢Ü 00100110£¬0
¢Ý 73C00H£¬73800H
¢Þ EBX£¬ECX£¬ESI£¬EDI£¬EBP£¬ESP ¢ß ʵµØÖ·£¬64KB
¢à ASM£¬Ä¿±êÄ£¿é£¬FLAT
¢á Á¢¼´ÊýѰַ¡¢¼Ä´æÆ÷ѰַºÍ´æ´¢Æ÷Ѱַ ¢â DS£¬SS
¡²Ï°Ìâ2.4¡³´¦ÀíÆ÷ÄÚ²¿¾ßÓÐÄÄ3¸ö»ù±¾²¿·Ö£¿8086·ÖΪÄÄÁ½´ó¹¦Äܲ¿¼þ£¿Æä¸÷×ÔµÄÖ÷Òª¹¦ÄÜÊÇʲô£¿ ¡²½â´ð¡³
´¦ÀíÆ÷ÄÚ²¿ÓÐALU¡¢¼Ä´æÆ÷ºÍÖ¸Áî´¦ÀíÈý¸ö»ù±¾µ¥Ôª¡£
£ £4
8086ÓÐÁ½´ó¹¦Äܲ¿¼þ£º×ÜÏß½Ó¿Úµ¥ÔªºÍÖ´Ðе¥Ôª¡£
×ÜÏß½Ó¿Úµ¥Ôª£º¹ÜÀí×Å8086Óëϵͳ×ÜÏߵĽӿڣ¬¸ºÔð´¦ÀíÆ÷¶Ô´æ´¢Æ÷ºÍÍâÉè½øÐзÃÎÊ¡£8086ËùÓжÔÍâ²Ù×÷±ØÐëͨ¹ýBIUºÍÕâЩ×ÜÏß½øÐС£
Ö´Ðе¥ÔªEU£º¸ºÔðÖ¸ÁîÒëÂë¡¢Êý¾ÝÔËËãºÍÖ¸ÁîÖ´ÐС£
¡²Ï°Ìâ2.5¡³8086ÔõÑùʵÏÖÁË×î¼òµ¥µÄÖ¸ÁîÁ÷Ë®Ïߣ¿
¡²½â´ð¡³
8086ÖУ¬Ö¸ÁîµÄ¶ÁÈ¡ÊÇÔÚBIUµ¥Ôª£¬¶øÖ¸ÁîµÄÖ´ÐÐÊÇÔÚEUµ¥Ôª¡£ÒòΪBIUºÍEUÁ½¸öµ¥ÔªÏ໥¶ÀÁ¢¡¢·Ö±ðÍê³É¸÷×Ô²Ù×÷£¬ËùÒÔ¿ÉÒÔ²¢ÐвÙ×÷¡£Ò²¾ÍÊÇ˵£¬ÔÚEUµ¥Ôª¶ÔÒ»¸öÖ¸Áî½øÐÐÒëÂëÖ´ÐÐʱ£¬BIUµ¥Ôª¿ÉÒÔͬʱ¶ÔºóÐøÖ¸Áî½øÐжÁÈ¡£»Õâ¾ÍÊÇ×î¼òµ¥µÄÖ¸ÁîÁ÷Ë®Ïß¼¼Êõ¡£ ¡²Ï°Ìâ2.6¡³
ʲôÊDZêÖ¾£¿Ê²Ã´ÊÇIA-32´¦ÀíÆ÷µÄ״̬±êÖ¾¡¢¿ØÖƱêÖ¾ºÍϵͳ±êÖ¾£¿ËµÃ÷״̬±êÖ¾ÔÚ±êÖ¾¼Ä´æÆ÷EFLAGSµÄλÖúͺ¬Òå¡£ ¡²½â´ð¡³
±êÖ¾£ºÓÃÓÚ·´Ó³Ö¸ÁîÖ´Ðнá¹û»ò¿ØÖÆÖ¸ÁîÖ´ÐÐÐÎʽµÄÒ»¸ö»ò¶à¸ö¶þ½øÖÆÊýλ¡£ÀýÈ磬ÓÐЩָÁîÖ´Ðкó»áÓ°ÏìÓйرê־λ£»ÓÐЩָÁîµÄÖ´ÐÐÒªÀûÓÃÏà¹Ø±êÖ¾¡£
״̬±êÖ¾£ºÓÃÀ´¼Ç¼³ÌÐòÔËÐнá¹ûµÄ״̬ÐÅÏ¢¡£ ¿ØÖƱêÖ¾£ºDF±êÖ¾£¬¿ØÖÆ×Ö·û´®²Ù×÷µÄµØÖ··½Ïò¡£ ϵͳ±êÖ¾£ºÓÃÓÚ¿ØÖÆ´¦ÀíÆ÷Ö´ÐÐÖ¸ÁîµÄ·½Ê½¡£
״̬±êÖ¾ÔÚ±êÖ¾¼Ä´æÆ÷EFLAGSÖеÄλÖúͺ¬ÒåÈçÏ£º
31 11 10 9 8 7 6 5 4 3 2 1 0 ¡¡ OF SF ZF AF PF CF
¡²Ï°Ìâ2.7¡³¾ÙÀý˵Ã÷CFºÍOF±êÖ¾µÄ²îÒì¡£
¡²½â´ð¡³
½øÎ»±êÖ¾CF±íʾÎÞ·ûºÅÊýÔËËã½á¹ûÊÇ·ñ³¬³ö·¶Î§£¬³¬³ö·¶Î§ºó¼ÓÉϽøÎ»»ò½è룬ÔËËã½á¹ûÈÔÈ»ÕýÈ·£»Òç³ö±êÖ¾OF±íʾÓзûºÅÊýÔËËã½á¹ûÊÇ·ñ³¬³ö·¶Î§£¬Èç¹û³¬³ö·¶Î§£¬ÔËËã½á¹ûÒѾ²»ÕýÈ·¡£
Àý1£º3AH £« 7CH£½B6H
ÎÞ·ûºÅÊýÔËË㣺58£«124£½182£¬·¶Î§ÄÚ£¬ÎÞ½øÎ»¡£ ÓзûºÅÊýÔËË㣺58£«124£½182£¬·¶Î§Í⣬ÓÐÒç³ö¡£ Àý2£ºAAH + 7CH£½¢Ù26H
ÎÞ·ûºÅÊýÔËË㣺170£«124£½294£¬·¶Î§Í⣬ÓнøÎ»¡£ ÓзûºÅÊýÔËË㣺£86£«124£½28 £¬·¶Î§ÄÚ£¬ÎÞÒç³ö¡£
¡²Ï°Ìâ2.8¡³Ê²Ã´ÊÇ8086ÖеÄÂß¼µØÖ·ºÍÎïÀíµØÖ·£¿Âß¼µØÖ·ÈçºÎת»»³ÉÎïÀíµØÖ·£¿Ç뽫ÈçÏÂÂß¼µØÖ·ÓÃÎïÀíµØÖ·±í´ï£¨¾ùΪʮÁù½øÖÆÐÎʽ£©£º
¢Ù FFFF¡Ã0 ¢Ú 40¡Ã17 ¢Û 2000¡Ã4500 ¢Ü B821¡Ã4567
¡²½â´ð¡³
ÎïÀíµØÖ·£ºÔÚ´¦ÀíÆ÷µØÖ·×ÜÏßÉÏÊä³öµÄµØÖ·³ÆÎªÎïÀíµØÖ·¡£Ã¿¸ö´æ´¢µ¥ÔªÓÐÒ»¸öΨһµÄÎïÀíµØÖ·¡£
Âß¼µØÖ·£ºÔÚ´¦ÀíÆ÷ÄÚ²¿¡¢³ÌÐòÔ±±à³Ìʱ²ÉÓÃÂß¼µØÖ·£¬²ÉÓᰶεØÖ·£ºÆ«ÒƵØÖ·¡°ÐÎʽ¡£Ä³¸ö´æ´¢µ¥Ôª¿ÉÒÔÓжà¸öÂß¼µØÖ·£¬¼´´¦ÓÚ²»Í¬ÆðµãµÄÂß¼¶ÎÖУ¬µ«ÆäÎïÀíµØÖ·ÊÇΨһµÄ¡£
Âß¼µØÖ·×ª»»³ÉÎïÀíµØÖ·£ºÂß¼µØÖ·ÓÉ´¦ÀíÆ÷ÔÚÊä³ö֮ǰת»»ÎªÎïÀíµØÖ·¡£½«Âß¼µØÖ·ÖеĶεØÖ·×óÒÆ¶þ½øÖÆ4루¶ÔÓ¦16½øÖÆÊÇһ룬¼´³ËÒÔ16£©£¬¼ÓÉÏÆ«ÒƵØÖ·¾ÍµÃµ½20λÎïÀíµØÖ·¡£
¢Ù FFFFH:0£½FFFF0H ¢Ú 40H:17H£½00417H
¢Û 2000H:4500H£½24500H ¢Ü B821H:4567H£½BC777H
¡²Ï°Ìâ2.9¡³IA-32´¦ÀíÆ÷ÓÐÄÄÈýÀà»ù±¾¶Î£¬¸÷ÊÇʲôÓÃ;£¿
¡²½â´ð¡³
IA-32´¦ÀíÆ÷ÓдúÂë¶Î¡¢Êý¾Ý¶Î¡¢¶ÑÕ»¶ÎÈýÀà»ù±¾¶Î¡£
´úÂë¶Î£º´æ·Å³ÌÐòµÄÖ¸Áî´úÂë¡£³ÌÐòµÄÖ¸Áî´úÂë±ØÐë°²ÅÅÔÚ´úÂë¶Î£¬·ñÔò½«ÎÞ·¨Õý³£Ö´ÐС£
Êý¾Ý¶Î£º´æ·Åµ±Ç°ÔËÐгÌÐòËùÓõÄÊý¾Ý¡£³ÌÐòÖеÄÊý¾ÝĬÈÏÊÇ´æ·ÅÔÚÊý¾Ý¶Î£¬Ò²¿ÉÒÔ´æ·ÅÔÚÆäËûÂß¼¶ÎÖС£ ¶ÑÕ»¶Î£ºÖ÷´æÖжÑÕ»ËùÔÚµÄÇøÓò¡£³ÌÐòʹÓõĶÑÕ»Ò»¶¨ÔÚ¶ÑÕ»¶Î¡£
¡²Ï°Ìâ2.10¡³Ê²Ã´ÊÇÆ½Õ¹´æ´¢Ä£ÐÍ¡¢¶Îʽ´æ´¢Ä£ÐͺÍʵµØÖ·´æ´¢Ä£ÐÍ£¿
£ £5
¡²½â´ð¡³
ƽչ´æ´¢Ä£ÐÍÏ£¬¶Ô³ÌÐòÀ´Ëµ´æ´¢Æ÷ÊÇÒ»¸öÁ¬ÐøµÄµØÖ·¿Õ¼ä£¬³ÆÎªÏßÐÔµØÖ·¿Õ¼ä¡£³ÌÐòÐèÒªµÄ´úÂë¡¢Êý¾ÝºÍ¶ÑÕ»¶¼°üº¬ÔÚÕâ¸öµØÖ·¿Õ¼äÖС£
¶Îʽ´æ´¢Ä£ÐÍÏ£¬¶Ô³ÌÐòÀ´Ëµ´æ´¢Æ÷ÓÉÒ»×é¶ÀÁ¢µÄµØÖ·¿Õ¼ä×é³É£¬¶ÀÁ¢µÄµØÖ·¿Õ¼ä³ÆÎª¶Î¡£Í¨³££¬´úÂë¡¢Êý¾ÝºÍ¶ÑջλÓÚ·Ö¿ªµÄ¶ÎÖС£
ʵµØÖ·´æ´¢Ä£ÐÍÊÇ8086´¦ÀíÆ÷µÄ´æ´¢Ä£ÐÍ¡£ËüÊǶÎʽ´æ´¢Ä£Ð͵ÄÌØÀý£¬ÆäÏßÐÔµØÖ·¿Õ¼ä×î´óΪ1MBÈÝÁ¿£¬ÓÉ×î´óΪ64KBµÄ¶à¸ö¶Î×é³É¡£
¡²Ï°Ìâ2.11¡³Ê²Ã´ÊÇʵµØÖ··½Ê½¡¢±£»¤·½Ê½ºÍÐéÄâ8086·½Ê½£¿ËüÃÇ·Ö±ðʹÓÃʲô´æ´¢Ä£ÐÍ£¿
¡²½â´ð¡³
ʵµØÖ··½Ê½£ºÓë8086¾ßÓÐÏàͬµÄ»ù±¾½á¹¹£¬Ö»ÄÜѰַ1MBÎïÀí´æ´¢Æ÷¿Õ¼ä£¬Âß¼¶Î×î´ó²»³¬¹ý64KB£»µ«¿ÉÒÔʹÓÃ32λ¼Ä´æÆ÷¡¢32λ²Ù×÷ÊýºÍ32λѰַ·½Ê½£»Ï൱ÓÚ¿ÉÒÔ½øÐÐ32λ´¦ÀíµÄ¿ìËÙ8086¡£ÊµµØÖ·¹¤×÷·½Ê½Ö»ÄÜÖ§³ÖʵµØÖ·´æ´¢Ä£ÐÍ¡£
±£»¤·½Ê½£º¾ßÓÐÇ¿´óµÄ¶Îҳʽ´æ´¢¹ÜÀíºÍÌØÈ¨Óë±£»¤ÄÜÁ¦£¬Ê¹ÓÃÈ«²¿32ÌõµØÖ·×ÜÏߣ¬¿ÉѰַ4GBÎïÀí´æ´¢Æ÷¡£±£»¤·½Ê½Í¨¹ýÃèÊö·ûʵÏֶַδ洢¹ÜÀí£¬Ã¿¸öÂß¼¶Î¿É´ï4GB¡£´¦ÀíÆ÷¹¤×÷ÔÚ±£»¤·½Ê½Ê±£¬¿ÉÒÔʹÓÃÆ½Õ¹»ò¶Îʽ´æ´¢Ä£ÐÍ¡£
ÐéÄâ8086·½Ê½£ºÔÚ±£»¤·½Ê½ÏÂÔËÐеÄÀàËÆÊµ·½Ê½µÄÔËÐл·¾³£¬Ö»ÄÜÔÚ1MB´æ´¢¿Õ¼äÏÂʹÓá°16λ¶Î¡±¡£ ´¦ÀíÆ÷¹¤×÷ÔÚÐéÄâ8086·½Ê½Ê±£¬Ö»ÄÜʹÓÃʵµØÖ·´æ´¢Ä£ÐÍ¡£
¡²Ï°Ìâ2.12¡³»ã±àÓï¾äÓÐÄÄÁ½ÖÖ£¬Ã¿¸öÓï¾äÓÉÄÄ4¸ö²¿·Ö×é³É£¿
¡²½â´ð¡³
»ã±àÓï¾äÓÐÁ½ÖÖ£ºÖ´ÐÐÐÔÓï¾ä£¨´¦ÀíÆ÷Ö¸Á¡¢ËµÃ÷ÐÔÓï¾ä£¨Î±Ö¸Á¡£ ÿ¸öÓï¾äÓУº±êºÅ¡¢Ö¸ÁîÖú¼Ç·û¡¢²Ù×÷Êý»ò²ÎÊý¡¢×¢ÊÍ4¸ö²¿·Ö×é³É¡£
¡²Ï°Ìâ2.13¡³»ã±àÓïÑÔ³ÌÐòµÄ¿ª·¢ÓÐÄÄ4¸ö²½Ö裬·Ö±ðÀûÓÃʲô³ÌÐòÍê³É¡¢²úÉúʲôÊä³öÎļþ¡£ ¡²½â´ð¡³
»ã±àÓïÑÔ³ÌÐòµÄ¿ª·¢ÓÐ4¸ö²½Ö裺
±à¼£ºÓÃÎı¾±à¼Æ÷ÐγÉÒ»¸öÒÔASMΪÀ©Õ¹ÃûµÄÔ´³ÌÐòÎļþ¡£ »ã±à£ºÓûã±à³ÌÐò½«ASMÎļþת»»ÎªOBJÄ£¿éÎļþ¡£
Á¬½Ó£ºÓÃÁ¬½Ó³ÌÐò½«Ò»¸ö»ò¶à¸öÄ¿±êÎļþÁ´½Ó³ÉÒ»¸öEXE»òCOM¿ÉÖ´ÐÐÎļþ¡£ µ÷ÊÔ£ºÓõ÷ÊÔ³ÌÐòÅųý´íÎó£¬Éú³ÉÕýÈ·µÄ¿ÉÖ´ÐÐÎļþ¡£
¡²Ï°Ìâ2.14¡³MASM»ã±àÓïÑÔÖУ¬ÏÂÃæÄÄЩÊdzÌÐòÔ±¿ÉÒÔʹÓõÄÕýÈ·µÄ±êʶ·û¡£
FFH£¬DS£¬0xvab£¬Again£¬next£¬@data£¬h_ascii£¬6364b£¬.exit£¬small ¡²½â´ð¡³
FFH£¬Again£¬next£¬h_ascii
¡²Ï°Ìâ2.15¡³¸ø³öIA-32´¦ÀíÆ÷µÄ32λѰַ·½Ê½ºÍ16λѰַ·½Ê½µÄ×é³É¹«Ê½£¬²¢ËµÃ÷¸÷²¿·Ö×÷Óᣠ¡²½â´ð¡³
¢Ù 32λ´æ´¢Æ÷Ѱַ·½Ê½µÄ×é³É¹«Ê½
32λÓÐЧµØÖ· £½ »ùÖ·¼Ä´æÆ÷£«£¨±äÖ·¼Ä´æÆ÷¡Á±ÈÀý£©£«Î»ÒÆÁ¿ ÆäÖеÄ4¸ö×é³É²¿·ÖÊÇ£º
¡¤»ùÖ·¼Ä´æÆ÷??ÈκÎ8¸ö32λͨÓüĴæÆ÷Ö®Ò»£»
¡¤±äÖ·¼Ä´æÆ÷??³ýESPÖ®ÍâµÄÈκÎ32λͨÓüĴæÆ÷Ö®Ò»£»
¡¤±ÈÀý??¿ÉÒÔÊÇ1£¬2£¬4»ò8£¨ÒòΪ²Ù×÷ÊýµÄ³¤¶È¿ÉÒÔÊÇ1£¬2£¬4»ò8×Ö½Ú£©£» ¡¤Î»ÒÆÁ¿??¿ÉÒÔÊÇ8»ò32λÓзûºÅÖµ¡£ ¢Ú 16λ´æ´¢Æ÷Ѱַ·½Ê½µÄ×é³É¹«Ê½
16λÓÐЧµØÖ· £½ »ùÖ·¼Ä´æÆ÷£«±äÖ·¼Ä´æÆ÷£«Î»ÒÆÁ¿
ÆäÖлùÖ·¼Ä´æÆ÷Ö»ÄÜÊÇBX»òBP£¬±äÖ·¼Ä´æÆ÷Ö»ÄÜÊÇSI»òDI£¬Î»ÒÆÁ¿ÊÇ8»ò16λÓзûºÅÖµ ¡²Ï°Ìâ2.16¡³ËµÃ÷ÏÂÁÐÖ¸ÁîÖÐÔ´²Ù×÷ÊýµÄѰַ·½Ê½£¿¼ÙÉèVARDÊÇÒ»¸öË«×Ö±äÁ¿¡£
£¨1£©mov edx,1234h £¨2£©mov edx,vard £¨3£©mov edx,ebx £¨4£©mov edx,[ebx]
£¨5£©mov edx,[ebx+1234h] £¨6£©mov edx,vard[ebx] £¨7£©mov edx,[ebx+edi]
£ £6
£¨8£©mov edx,[ebx+edi+1234h] £¨9£©mov edx,vard[esi+edi] £¨10£©mov edx,[ebp*4]
¡²½â´ð¡³
¢Ù Á¢¼´Êý ¢Ú Ö±½Ó ¢Û ¼Ä´æÆ÷ ¢Ü ¼Ä´æÆ÷¼ä½Ó ¢Ý ¼Ä´æÆ÷Ïà¶Ô ¢Þ ¼Ä´æÆ÷Ïà¶Ô ¢ß »ùÖ·±äÖ·
¢à Ïà¶Ô»ùÖ·±äÖ· ¢á Ïà¶Ô»ùÖ·±äÖ· ¢â ´ø±ÈÀýѰַ
¡²Ï°Ìâ2.17¡³Ê¹Óñ¾ÊéÅäÌ×µÄÈí¼þ°ü£¨»òÕß°´ÕÕ±¾Êé˵Ã÷£©´´½¨MASM¿ª·¢»·¾³£¬Í¨¹ý±à¼ÀýÌâ2-1ºÍÀýÌâ2-2³ÌÐò¡¢»ã±àÁ¬½ÓÉú³É¿ÉÖ´ÐгÌÐòºÍÁбíÎļþ£¬ÕÆÎÕ»ã±àÓïÑԵĿª·¢¡£
µÚ3Õ Êý¾Ý´¦Àí ¡²Ï°Ìâ3.1¡³¼ò´ðÌâ
£¨1£©Ê¹Óöþ½øÖÆ8λ±í´ïÎÞ·ûºÅÕûÊý£¬257ÓжÔÓ¦µÄ±àÂëÂð£¿
£¨2£©×Ö·û¡°'F'¡±ºÍÊýÖµ46H×÷ΪMOVÖ¸ÁîµÄÔ´²Ù×÷ÊýÓÐÇø±ðÂð£¿
£¨3£©ÎªÊ²Ã´¿ÉÒÔ°ÑÖ¸Áî¡°MOV AX, (34£«67H)*3¡±ÖеÄÊýÖµ±í´ïʽ¿´³ÉÊdz£Á¿£¿ £¨4£©ÊýÖµ500£¬Äܹ»×÷Ϊ×Ö½Ú±äÁ¿µÄ³õÖµÂð£¿
£¨5£©ÎªÊ²Ã´Ëµ¡°XCHG EDX,CX¡±ÊÇÒ»Ìõ´íÎóµÄÖ¸Á
£¨6£©¶¼ÊÇ»ñÈ¡Æ«ÒÆµØÖ·£¬ÎªÊ²Ã´Ö¸Áî¡°LEA EBX, [ESI]¡±ÕýÈ·£¬¶øÖ¸Áî¡°MOV EBX, OFFSET[ESI]¡±¾Í´íÎó£¿ £¨7£©INC£¬DEC£¬NEGºÍNOT¶¼Êǵ¥²Ù×÷ÊýÖ¸ÁÕâ¸ö²Ù×÷ÊýÓ¦¸ÃÊÇÔ´²Ù×÷Êý»¹ÊÇÄ¿µÄ²Ù×÷Êý£¿ £¨8£©´óСд×Öĸת»»Ê¹ÓÃÁËʲô¹æÂÉ£¿
£¨9£©³Ë³ý·¨ÔËËãÕë¶ÔÎÞ·ûºÅÊýºÍÓзûºÅÊý£¬ÓÐÁ½ÖÖ²»Í¬µÄÖ¸Áî¡£Ö»ÓÐÒ»ÖÖÖ¸ÁîµÄ¼Ó¼õ·¨ÈçºÎÇø±ðÎÞ·ûºÅÊýºÍÓзûºÅÊýÔËË㣿 £¨10£©Âß¼ÓëÔËËãΪʲôҲ³ÆÎªÂß¼³Ë£¿
¡²½â´ð¡³
¢Ù ûÓС£Ê¹Óöþ½øÖÆ8λ±í´ïÎÞ·ûºÅÕûÊý£¬257ûÓжÔÓ¦µÄ±àÂë¡£ ¢Ú ×Ö·û¡°'F'¡±µÄASCIIÂë¾ÍÊÇÊýÖµ46H£¬ËùÒÔûÓÐÇø±ð¡£
¢Û »ã±à³ÌÐòÔÚ»ã±à¹ý³ÌÖжÔÊýÖµ±í´ïʽ¼ÆË㣬µÃµ½Ò»¸öÈ·¶¨µÄÊýÖµ£¬¹Ê³ÆÊýÖµ±í´ïʽΪ³£Á¿¡£ ¢Ü ²»ÄÜ¡£ÊýÖµ500´óÓÚÒ»¸ö×Ö½ÚËùÄܱí´ïµÄÊý¾ÝÁ¿£¬ËùÒÔ²»ÄÜΪ×Ö½Ú±äÁ¿¸³Öµ¡£ ¢Ý Ô´¡¢Ä¿±ê¼Ä´æÆ÷λÊý²»Í¬£¬²»ÄÜÓøÃÖ¸Áî½øÐÐÊý¾Ý½»»»¡£
¢Þ ǰÕßÔÚÖ¸ÁîÖ´ÐÐʱ»ñµÃÆ«ÒÆµØÖ·£¬ÊÇÕýÈ·µÄ£»µ«ºóÕßµÄOFFSETÖ»ÄÜÔÚ»ã±à½×¶Î»ñµÃÆ«ÒÆµØÖ·£¬µ«´Ëʱ¼Ä´æÆ÷ÄÚÈÝÊDz»¿ÉÖªµÄ£¬ËùÒÔÎÞ·¨»ñµÃÆ«ÒÆµØÖ·¡£
¢ß INC£¬DEC£¬NEGºÍNOTÖ¸ÁîµÄ²Ù×÷Êý¼ÈÊÇÔ´²Ù×÷ÊýÒ²ÊÇÄ¿µÄ²Ù×÷Êý¡£ ¢à ´óСд×Öĸת»»ÀûÓÃËüÃǵÄASCIIÂëÏà²î20H¡£
¢á ¼Ó¼õ·¨²»Çø±ðÎÞ·ûºÅÊýºÍÓзûºÅÊý£¬µ«¸ù¾ÝÔËËã½á¹û·Ö±ðÉèÖñêÖ¾¼Ä´æÆ÷µÄCFºÍOF±êÖ¾£¬¿ÉÀûÓÃCFºÍOF½øÐÐÇø±ð¡£ ¢â Âß¼ÓëÔËËã¹æÔòÀàËÆ¶þ½øÖƵij˷¨£¬ËùÒÔ³ÆÆäΪÂß¼³Ë¡£ ¡²Ï°Ìâ3.2¡³ÅжÏÌâ
£¨1£©¶ÔÒ»¸öÕýÕûÊý£¬ËüµÄÔÂë¡¢·´ÂëºÍ²¹Âë¶¼Ò»Ñù£¬Ò²¶¼ÓëÎÞ·ûºÅÊýµÄ±àÂëÒ»Ñù¡£ £¨2£©³£ÓõÄBCDÂëΪ8421 BCDÂ룬ÆäÖеÄ8±íʾD3λµÄÈ¨ÖØ¡£ £¨3£©IA-32´¦ÀíÆ÷²ÉÓÃС¶Ë·½Ê½´æ´¢¶à×Ö½ÚÊý¾Ý¡£ £¨4£©¿Õ²Ù×÷NOPÖ¸ÁîÆäʵ¸ù±¾Ã»ÓÐÖ¸Áî¡£
£¨5£©¶ÑÕ»µÄ²Ù×÷ÔÔòÊÇ¡°ÏȽøºó³ö¡±£¬ËùÒÔ¶ÑÕ»¶ÎµÄÊý¾Ý³ýPUSHºÍPOPÖ¸ÁîÍ⣬²»ÔÊÐíÆäËû·½·¨¶Áд¡£ £¨6£©ËäÈ»ADDÖ¸ÁîºÍSUBÖ¸ÁîÖ´Ðкó»áÓ°Ïì±ê־״̬£¬µ«Ö´ÐÐǰµÄ±êÖ¾²¢²»Ó°ÏìËüÃǵÄÖ´Ðнá¹û¡£ £¨7£©Ö¸Áî¡°INC ECX¡±ºÍ¡°ADD ECX,1¡±µÄʵÏÖ¹¦ÄÜÍêȫһÑù£¬¿ÉÒÔ»¥ÏàÌæ»»¡£
£¨8£©ÎÞ·ûºÅÊýÔÚÇ°Ãæ¼ÓÁãÀ©Õ¹£¬ÊýÖµ²»±ä£»ÓзûºÅÊýÇ°Ãæ½øÐзûºÅÀ©Õ¹£¬Î»Êý¼Ó³¤Ò»Î»¡¢ÊýÖµÔö¼ÓÒ»±¶¡£
£¨9£©Âß¼ÔËËãûÓнøÎ»»òÒç³öÎÊÌ⣬´ËʱCFºÍOFûÓÐ×÷Óã¬ËùÒÔÂß¼ÔËËãÖ¸ÁîÈçAND¡¢ORµÈ½«CFºÍOFÉèÖÃΪ0¡£ £¨10£©CMPÖ¸ÁîÊÇÄ¿µÄ²Ù×÷Êý¼õÈ¥Ô´²Ù×÷Êý£¬CMPSÖ¸ÁîÊÇÔ´²Ù×÷Êý¼õȥĿµÄ²Ù×÷Êý¡£ ¡²½â´ð¡³
¢Ù ¶Ô ¢Þ ¶Ô
¢Ú ¶Ô ¢ß ´í
¢Û ¶Ô ¢à ´í
¢Ü ´í ¢á ¶Ô
¢Ý ´í ¢â ¶Ô
¡²Ï°Ìâ3.3¡³Ìî¿ÕÌâ
£¨1£©¶¨Òå×Ö½Ú±äÁ¿µÄαָÁîÖú¼Ç·ûÊÇ_____________£¬»ñÈ¡±äÁ¿ÃûËù¾ßÓÐµÄÆ«ÒƵØÖ·µÄ²Ù×÷·ûÊÇ_____________¡£
£ £7
£¨2£©¼ÆËã»úÖÐÓÐÒ»¸ö¡°01100001¡±±àÂë¡£Èç¹û°ÑËüÈÏΪÊÇÎÞ·ûºÅÊý£¬ËüÊÇ10½øÖÆÊý___________£»Èç¹ûÈÏΪËüÊÇBCDÂ룬Ôò±íÊ¾ÕæÖµ_____________£»ÓÖÈç¹ûËüÊÇij¸öASCIIÂ룬Ôò´ú±í×Ö·û__________¡£
£¨3£©CÓïÑÔÓá°\\n¡±±íʾÈùâ±ê»Øµ½ÏÂÒ»ÐÐÊ×룬ÔÚ»ã±àÓïÑÔÖÐÐèÒªÊä³öÁ½¸ö¿ØÖÆ×Ö·û£ºÒ»¸öÊǻسµ£¬ÆäASCIIÂëÊÇ_____________£¬Ëü½«¹â±êÒÆ¶¯µ½µ±Ç°ËùÔÚÐеÄÊ×λ£»ÁíÒ»¸öÊÇ»»ÐУ¬ÆäASCIIÂëÊÇ_____________£¬Ëü½«¹â±êÒÆµ½ÏÂÒ»ÐС£
£¨4£©Êý¾Ý¶ÎÓÐÓï¾ä¡°H8843 DWORD 99008843H¡±£¬´úÂë¶ÎÖ¸Áî¡°MOV CX, WORD PTR H8843¡±Ö´Ðкó£¬CX£½_____________¡£ £¨5£©ÓÃDWORD¶¨ÒåµÄÒ»¸ö±äÁ¿XYZ£¬ËüµÄÀàÐÍÊÇ_____________£¬Óá°TYPE XYZ¡±»áµÃµ½ÊýֵΪ_____________¡£Èç¹û½«ÆäÒÔ×ÖÁ¿Ê¹Óã¬Ó¦¸ÃÓÃ_____________˵Ã÷¡£
£¨6£©Êý¾Ý¶ÎÓÐÓï¾ä¡°ABC BYTE 1,2,3¡±£¬´úÂë¶ÎÖ¸Áî¡°MOV CL, ABC+2¡±Ö´Ðкó£¬CL£½_____________¡£ £¨7£©ÀýÌâ3-9µÄTAB¶¨ÒåÈç¹ûÊÇ¡°1234567890¡±£¬ÔòÏÔʾ½á¹ûÊÇ__________¡£
£¨8£©Ö¸Áî¡°XOR EAX, EAX¡±ºÍ¡°SUB EAX, EAX¡±Ö´Ðкó£¬EAX£½__________£¬CF£½OF£½__________¡£¶øÖ¸Áî¡°MOV EAX, 0¡±Ö´Ðкó£¬EAX£½__________£¬CFºÍOFûÓб仯¡£
£¨9£©ÀýÌâ3-15³ÌÐòÖ´ÐнáÊø£¬±äÁ¿QVARÄÚÈÝÊÇ__________£»BCDÄÚÈÝÊÇ__________¡£
£¨10£©Óû½«EDXÄÚµÄÎÞ·ûºÅÊý³ýÒÔ16£¬Ê¹ÓÃÖ¸Áî¡°SHR EDX, __________¡±£¬ÆäÖкóÒ»¸ö²Ù×÷ÊýÊÇÒ»¸öÁ¢¼´Êý¡£ ¡²½â´ð¡³
¢Ù BYTE£¬OFFSET ¢Ú 97£¬61£¬Ð¡Ð´×Öĸa
¢Û 0DH£¨13£©£¬0AH£¨10£© ¢Ü 8843H
¢Ý DWORD£¬4£¬WORD PTR XYZ ¢Þ 3
¢ß 78894111 ¢à 0£¬0£¬0
¢á 0123456788765432H£¬83H ¢â 4 ¡²Ï°Ìâ3.4¡³
ÏÂÁÐÊ®Áù½øÖÆÊý±íʾÎÞ·ûºÅÕûÊý£¬Çëת»»ÎªÊ®½øÖÆÐÎʽµÄÕæÖµ£º ¢Ù FFH ¢Ú 0H ¢Û 5EH ¢Ü EFH ¡²½â´ð¡³
¢Ù 255 ¢Ú 0 ¢Û 94 ¢Ü 239 ¡²Ï°Ìâ3.5¡³
½«ÏÂÁÐÊ®½øÖÆÊýÕæÖµ×ª»»ÎªÑ¹ËõBCDÂ룺 ¢Ù 12 ¢Ú 24 ¢Û 68 ¢Ü 99 ¡²½â´ð¡³
¢Ù 12H ¢Ú 24H ¢Û 68H ¢Ü 99H ¡²Ï°Ìâ3.6¡³
½«ÏÂÁÐѹËõBCDÂëת»»ÎªÊ®½øÖÆÊý£º
¢Ù 10010001 ¢Ú 10001001 ¢Û 00110110 ¢Ü 10010000 ¡²½â´ð¡³
¢Ù 91 ¢Ú 89 ¢Û 36 ¢Ü 90 ¡²Ï°Ìâ3.7¡³
½«ÏÂÁÐÊ®½øÖÆÊýÓÃ8λ¶þ½øÖƲ¹Âë±íʾ£º ¢Ù 0 ¢Ú 127 ¢Û£127 ¢Ü £57 ¡²½â´ð¡³
¢Ù 00000000 ¢Ú 01111111 ¢Û 10000001 ¢Ü 11000111 ¡²Ï°Ìâ3.8¡³
½øÐÐÊ®Áù½øÖÆÊý¾ÝµÄ¼Ó¼õÔËË㣬²¢ËµÃ÷ÊÇ·ñÓнøÎ»»ò½èλ£º
£ £8
¢Ù 1234H£«7802H ¢Ú F034H£«5AB0H ¢Û C051H£1234H ¢Ü 9876H£ABCDH
¡²½â´ð¡³
¢Ù 1234H£«7802H£½8A36H£¬ÎÞ½øÎ» ¢Ú F034H£«5AB0H£½4AF4H£¬ÓнøÎ» ¢Û C051H£1234H£½BE1DH£¬ÎÞ½èλ ¢Ü 9876H£ABCDH£½ECA9H£¬Óнèλ ¡²Ï°Ìâ3.9¡³
ÊýÂë0¡«9¡¢´óд×ÖĸA¡«Z¡¢Ð¡Ð´×Öĸa¡«z¶ÔÓ¦µÄASCIIÂë·Ö±ðÊǶàÉÙ£¿ASCIIÂë0DHºÍ0AH·Ö±ð¶ÔӦʲô×Ö·û£¿ ¡²½â´ð¡³
ÊýÂë0¡«9¶ÔÓ¦µÄASCIIÂëÒÀ´ÎÊÇ30H¡«39H¡£
´óд×ÖĸA¡«Z¶ÔÓ¦µÄASCIIÂëÒÀ´ÎÊÇ£º41H¡«5AH¡£ Сд×Öĸa¡«z¶ÔÓ¦µÄASCIIÂëÒÀ´ÎÊÇ£º61¡«7AH¡£ ASCIIÂë0DHºÍ0AH·Ö±ð¶ÔÓ¦µÄÊǻسµºÍ»»ÐÐ×Ö·û¡£ ¡²Ï°Ìâ3.10¡³
ÉèÖÃÒ»¸öÊý¾Ý¶Î£¬°´ÕÕÈçÏÂÒªÇó¶¨Òå±äÁ¿»ò·ûºÅ³£Á¿£º ¢Ù my1bΪ×Ö·û´®±äÁ¿£ºPersonal Computer ¢Ú my2bΪÓÃÊ®½øÖÆÊý±íʾµÄ×Ö½Ú±äÁ¿£º20 ¢Û my3bΪÓÃÊ®Áù½øÖÆÊý±íʾµÄ×Ö½Ú±äÁ¿£º20 ¢Ü my4bΪÓöþ½øÖÆÊý±íʾµÄ×Ö½Ú±äÁ¿£º20 ¢Ý my5wΪ20¸öδ¸³ÖµµÄ×Ö±äÁ¿ ¢Þ my6cΪ100µÄ³£Á¿
¢ß my7c±íʾ×Ö·û´®£ºPersonal Computer ¡²½â´ð¡³ my1b my2b my3b my4b my5w my6c my7c
¡²Ï°Ìâ3.11¡³¶¨Òå³£Á¿NUM£¬ÆäֵΪ5£»Êý¾Ý¶ÎÖж¨Òå×ÖÊý×é±äÁ¿DATALIST£¬ËüµÄÍ·5¸ö×Öµ¥ÔªÖÐÒÀ´Î´æ·Å-10£¬2£¬5ºÍ4£¬×îºó1¸öµ¥Ôª³õÖµ²»¶¨¡£
¡²½â´ð¡³ num equ 5
datalist byte -10,2,5,4,?
¡²Ï°Ìâ3.12¡³´ÓµÍµØÖ·¿ªÊ¼ÒÔ×Ö½ÚΪµ¥Î»£¬ÓÃÊ®Áù½øÖÆÐÎʽ¸ø³öÏÂÁÐÓï¾äÒÀ´Î·ÖÅäµÄÊýÖµ£º
byte 'ABC',10,10h,'EF',3 dup(-1,?,3 dup(4)) word 10h,-5,3 dup(?) byte 'Personal Computer' byte 20 byte 14h
byte 00010100b word 20 dup(?) = 100
equ
¡²½â´ð¡³
41 42 43 0A 10 45 46 FF 00 04 04 04 FF 00 04 04 04 FF 00 04 04 04 10 00 FB FF 00 00 00 00 00 00
¡²Ï°Ìâ3.13¡³ÉèÔÚij¸ö³ÌÐòÖÐÓÐÈçÏÂÆ¬¶Î£¬Çëд³öÿÌõ´«ËÍÖ¸ÁîÖ´Ðкó¼Ä´æÆ÷EAXµÄÄÚÈÝ£º
varw varb vard buff mess
; Êý¾Ý¶Î org 100h
word 1234h,5678h byte 3,4
dword 12345678h byte 10 dup(?) byte 'hello' ; ´úÂë¶Î
mov eax,offset mess
£ £9
mov eax,type buff+type mess+type vard
mov eax,sizeof varw+sizeof buff+sizeof mess mov eax,lengthof varw+lengthof vard
¡²½â´ð¡³
¢Ù EAX£½0114H ¢Ú EAX£½0006H ¢Û EAX£½0013H ¢Ü EAX£½0003H
¡²Ï°Ìâ3.14¡³°´ÕÕÈçÏÂÊä³ö¸ñʽ£¬ÔÚÆÁÄ»ÉÏÏÔʾASCII±í£º | 0 1 2 3 4 5 6 7 8 9 A B C D E F ---+-------------------------------- 20 | ! ¡° # ... 30 | 0 1 2 3 ... 40 | @ A B C ... 50 | P Q R S ... 60 | ¡® a b c ... 70 | p q r s ...
±í¸ñ×îÉÏÒ»ÐеÄÊý×ÖÊǶÔÓ¦ÁÐASCII´úÂëÖµµÄµÍ4루ÓÃÊ®Áù½øÖÆÐÎʽ£©£¬¶ø±í¸ñ×ó±ßµÄÊý×Ö¶ÔÓ¦ÐÐASCII´úÂëÖµµÄ¸ß4루ÓÃÊ®Áù½øÖÆÐÎʽ£©¡£±à³ÌÔÚÊý¾Ý¶ÎÖ±½Ó¹¹ÔìÕâÑùµÄ±í¸ñ¡¢ÌîдÏàÓ¦ASCII´úÂëÖµ£¨²»ÊÇ×Ö·û±¾Éí£©£¬È»ºóʹÓÃ×Ö·û´®ÏÔʾ×Ó³ÌÐòDISPMSGʵÏÖÏÔʾ¡£ ¡²½â´ð¡³
table
start:
¡²Ï°Ìâ3.15¡³Êý¾Ý¶ÎÓÐÈç϶¨Ò壬IA-32´¦ÀíÆ÷½«ÒÔС¶Ë·½Ê½±£´æÔÚÖ÷´æ£º var
dword 12345678h
ÏÖÒÔ×Ö½ÚΪµ¥Î»°´µØÖ·´ÓµÍµ½¸ßµÄ˳Ðò£¬Ð´³öÕâ¸ö±äÁ¿ÄÚÈÝ¡£²¢ËµÃ÷ÈçÏÂÖ¸ÁîµÄÖ´Ðнá¹û£º mov eax,var ; EAX£½__________ mov bx,var ; BX£½__________ mov cx,var+2 ; CX£½__________ mov dl,var ; DL£½__________ mov dh,var+3 ; DH£½__________
¿ÉÒÔ±à³ÌʹÓÃÊ®Áù½øÖÆ×Ö½ÚÏÔʾ×Ó³ÌÐòDSIPHB˳ÐòÏÔʾ¸÷¸ö×Ö½Ú½øÐÐÑéÖ¤£¬»¹¿ÉÒÔʹÓÃÊ®Áù½øÖÆË«×ÖÏÔʾ×Ó³ÌÐòDSIPHDÏÔʾ¸ÃÊý¾Ý½øÐжԱȡ£
¡²½â´ð¡³
С¶Ë·½Ê½²ÉÓᰵͶԵ͡¢¸ß¶Ô¸ß¡±£¬¼´µÍ×Ö½ÚÊý¾Ý´æ·ÅÔڵ͵ØÖ·´æ´¢µ¥Ôª¡¢¸ß×Ö½ÚÊý¾Ý´æ·ÅÔڸߵØÖ·´æ´¢µ¥Ôª¡£ÒÔ×Ö½ÚΪµ¥Î»°´µØÖ·´ÓµÍµ½¸ßµÄ˳Ðò£¬var±äÁ¿µÄÄÚÈÝ£º78H¡¢56H¡¢34H¡¢12H¡£ ; EAX£½12345678H
include io32.inc
.data
byte ' |0 1 2 3 4 5 6 7 8 9 A B C D E F',13,10 byte '---+-------------------------------',13,10
byte '20 |',20h,20h,21h,20h,22h,20h,23h,20h,24h,20h,25h,20h,26h,20h,27h,20h,28h,20h,29h,20h byte 2ah,20h,2bh,20h,2ch,20h,2dh,20h,2eh,20h,2fh,20h,13,10
byte '30 |',30h,20h,31h,20h,32h,20h,33h,20h,34h,20h,35h,20h,36h,20h,37h,20h,38h,20h,39h,20h byte 3ah,20h,3bh,20h,3ch,20h,3dh,20h,3eh,20h,3fh,20h,13,10
byte '40 |',40h,20h,41h,20h,42h,20h,43h,20h,44h,20h,45h,20h,46h,20h,47h,20h,48h,20h,49h,20h byte 4ah,20h,4bh,20h,4ch,20h,4dh,20h,4eh,20h,4fh,20h,13,10
byte '50 |',50h,20h,51h,20h,52h,20h,53h,20h,54h,20h,55h,20h,56h,20h,57h,20h,58h,20h,59h,20h byte 5ah,20h,5bh,20h,5ch,20h,5dh,20h,5eh,20h,5fh,20h,13,10
byte '60 |',60h,20h,61h,20h,62h,20h,63h,20h,64h,20h,65h,20h,66h,20h,67h,20h,68h,20h,69h,20h byte 6ah,20h,6bh,20h,6ch,20h,6dh,20h,6eh,20h,6fh,20h,13,10
byte '70 |',70h,20h,71h,20h,72h,20h,73h,20h,74h,20h,75h,20h,76h,20h,77h,20h,78h,20h,79h,20h byte 7ah,20h,7bh,20h,7ch,20h,7dh,20h,7eh,20h,7fh,20h,13,10 byte 0 .code
mov eax,offset table call dispmsg exit 0 end start
£ £10
; BX£½5678H ; CX£½1234H ; DL£½78H ; DH£½12H
ʹÓÃÈô¸ÉMOVÖ¸ÁîʵÏÖ½»»¥Ö¸Áî¡°XCHG EBX,[EDI]¡±¹¦ÄÜ¡£
¡²Ï°Ìâ3.16¡³ ¡²½â´ð¡³
push eax mov eax,ebx mov ebx,[edi] mov [edi],eax pop eax
; ¿ÉÒÔûÓÐ
; ¿ÉÒÔûÓÐ
¡²Ï°Ìâ3.17¡³
¼ÙÉ赱ǰESP£½0012FFB0H£¬ËµÃ÷ÏÂÃæÃ¿ÌõÖ¸Áîºó£¬ESPµÈÓÚ¶àÉÙ£¿
push eax push dx
push dword ptr 0f79h pop eax
pop word ptr [bx] pop ebx
¡²½â´ð¡³
ESP£½0012FFACH ESP£½0012FFAAH ESP£½0012FFA6H ESP£½0012FFAAH ESP£½0012FFACH ESP£½0012FFB0H
¡²Ï°Ìâ3.18¡³ÒÑÖªÊý×Ö0¡«9¶ÔÓ¦µÄ¸ñÀ×ÂëÒÀ´ÎΪ£º18H¡¢34H¡¢05H¡¢06H¡¢09H¡¢0AH¡¢0CH¡¢11H¡¢12H¡¢14H£»ÇëΪÈçϳÌÐòµÄÿÌõÖ¸Áî¼ÓÉÏ×¢ÊÍ£¬ËµÃ÷ÿÌõÖ¸ÁîµÄ¹¦ÄܺÍÖ´Ðнá¹û¡£
table
; Êý¾Ý¶Î
byte 18h,34h,05h,06h,09h,0ah,0ch,11h,12h,14h ; ´úÂë¶Î
mov ebx,offset table mov al,8 xlat
ΪÁËÑéÖ¤ÄãµÄÅжϣ¬²»·ÁʹÓñ¾ÊéµÄI/O×Ó³ÌÐò¿âÌṩµÄ×Ó³ÌÐòDISPHBÏÔʾ»»ÂëºóALµÄÖµ¡£Èç¹û²»Ê¹ÓÃXLATÖ¸ÁӦÈçºÎÐ޸ģ¿
¡²½â´ð¡³ ; Êý¾Ý¶Î table byte 18h,34h,05h,06h,09h,0ah,0ch,11h,12h,14h ; ¶¨Òå¸ñÀ×Âë±í ; ´úÂë¶Î mov ebx,offset table ; EBX£½¸ñÀ×Âë±íÊ×µØÖ· mov al,8 ; AL£½8 xlat ; AL£½12H£¨8µÄ¸ñÀ×Â룩
²»Ê¹ÓÃXLATÖ¸Á mov ebx,offset table ; EBX£½¸ñÀ×Âë±íÊ×µØÖ· mov eax,0 mov al,8 ; AL£½8 mov al,[eax+ebx] ; AL£½12H£¨8µÄ¸ñÀ×Â룩
¡²Ï°Ìâ3.19¡³Çë·Ö±ðÓÃÒ»Ìõ»ã±àÓïÑÔÖ¸ÁîÍê³ÉÈçϹ¦ÄÜ£º
£¨1£©°ÑEBX¼Ä´æÆ÷ºÍEDX¼Ä´æÆ÷µÄÄÚÈÝÏà¼Ó£¬½á¹û´æÈëEDX¼Ä´æÆ÷¡£
£¨2£©ÓüĴæÆ÷EBXºÍESIµÄ»ùÖ·±äַѰַ·½Ê½°Ñ´æ´¢Æ÷µÄÒ»¸ö×Ö½ÚÓëAL¼Ä´æÆ÷µÄÄÚÈÝÏà¼Ó£¬²¢°Ñ½á¹ûË͵½ALÖС£
£¨3£©ÓÃEBXºÍÎ»ÒÆÁ¿0B2HµÄ¼Ä´æÆ÷Ïà¶ÔѰַ·½Ê½°Ñ´æ´¢Æ÷ÖеÄÒ»¸öË«×ÖºÍECX¼Ä´æÆ÷µÄÄÚÈÝÏà¼Ó£¬²¢°Ñ½á¹ûËͻش洢Æ÷ÖС£ £¨4£©½«32λ±äÁ¿VARDÓëÊý3412HÏà¼Ó£¬²¢°Ñ½á¹ûËͻظô洢µ¥ÔªÖС£ £¨5£©°ÑÊý0A0HÓëEAX¼Ä´æÆ÷µÄÄÚÈÝÏà¼Ó£¬²¢°Ñ½á¹ûËÍ»ØEAXÖС£
£ £11
¡²½â´ð¡³
¢Ù add edx,ebx
¢Ú add al,[ebx+esi] ¢Û add [bx+0b2h],cx ¢Ü add varw,3412h ¢Ý add eax,0a0h
¡²Ï°Ìâ3.20¡³·Ö±ðÖ´ÐÐÈçϳÌÐòƬ¶Ï£¬ËµÃ÷ÿÌõÖ¸ÁîµÄÖ´Ðнá¹û£º
£¨1£©
mov eax,80h add eax,3 add eax,80h adc eax,3 £¨2£©
mov eax,100 add ax,200 £¨3£©
mov eax,100 add al,200 £¨4£©
mov al,7fh sub al,8 sub al,80h sbb al,3
; EAX£½__________
; EAX£½__________£¬CF£½__________£¬SF£½__________ ; EAX£½__________£¬CF£½__________£¬OF£½__________ ; EAX£½__________£¬CF£½__________£¬ZF£½__________ ; EAX£½__________
; EAX£½__________£¬CF£½__________ ; EAX£½__________
; EAX£½__________£¬CF£½__________
; AL£½__________
; AL£½__________£¬CF£½__________£¬SF£½__________ ; AL£½__________£¬CF£½__________£¬OF£½__________ ; AL£½__________£¬CF£½__________£¬ZF£½__________
¡²½â´ð¡³
£¨1£© ; EAX£½80H ; EAX£½83H£¬CF£½0£¬SF£½0 ; EAX£½103H£¬CF£½0£¬OF£½0 ; EAX£½106H£¬CF£½0£¬ZF£½0
£¨2£© ; EAX£½100 ; EAX£½300£¬CF£½0
£¨3£© ; EAX£½100 ; EAX£½44£¬CF£½1£¨°üº¬256µÄ½øÎ»º¬Ò壺256£«44£½300£©
£¨4£© mov al,7fh ; AL£½7FH sub al,8 ; AL£½77H£¬CF£½0£¬SF£½0 sub al,80h ; AL£½F7H£¬CF£½1£¬OF£½1 sbb al,3 ; AL£½F3H£¬CF£½0£¬ZF£½0 ¡²Ï°Ìâ3.21¡³
¸ø³öÏÂÁи÷ÌõÖ¸ÁîÖ´ÐкóALÖµ£¬ÒÔ¼°CF¡¢ZF¡¢SF¡¢OFºÍPFµÄ״̬£º
mov al,89h add al,al add al,9dh cmp al,0bch sub al,al dec al inc al
mov al,89h add al,al add al,9dh cmp al,0bch sub al,al dec al inc al
; AL£½89H ; AL£½12H ; AL£½0AFH ; AL£½0AFH ; AL£½00H ; AL£½0FFH ; AL£½00H
CF ZF 1 0 0 0 1 0 0 1 0 0 0 1
SF 0 1 1 0 1 0
OF 1 0 0 0 0 0
PF 1 1 1 1 1 1
¡²½â´ð¡³
£ £12
¡²Ï°Ìâ3.22¡³ÓÐÁ½¸ö64λÎÞ·ûºÅÕûÊý´æ·ÅÔÚ±äÁ¿buffer1ºÍbuffer2ÖУ¬¶¨ÒåÊý¾Ý¡¢±àд´úÂëÍê³ÉEDX.EAX¡ûbuffer1£buffer2¹¦ÄÜ¡£ ¡²½â´ð¡³
buffer1 buffer2
¡²Ï°Ìâ3.23¡³·Ö±ðÖ´ÐÐÈçϳÌÐòƬ¶Ï£¬ËµÃ÷ÿÌõÖ¸ÁîµÄÖ´Ðнá¹û£º
£¨1£©
mov esi,10011100b and esi,80h or esi,7fh xor esi,0feh £¨2£©
mov eax,1010b shr eax,2 shl eax,1 and eax,3 £¨3£©
mov eax,1011b rol eax,2 rcr eax,1 or eax,3 £¨4£©
xor eax,eax
; ESI£½__________H ; ESI£½__________H ; ESI£½__________H ; ESI£½__________H
; EAX£½__________B
; EAX£½__________B£¬CF£½__________ ; EAX£½__________B£¬CF£½__________ ; EAX£½__________B£¬CF£½__________ ; EAX£½__________B
; EAX£½__________B£¬CF£½__________ ; EAX£½__________B£¬CF£½__________ ; EAX£½__________B£¬CF£½__________
; EAX£½__________£¬CF£½__________£¬OF£½__________ ; ZF£½__________£¬SF£½__________£¬PF£½__________
; Êý¾Ý¶Î
qword 67883000h qword 67762000h ; ´úÂë¶Î
mov eax,dword ptr buffer1 mov edx,dword ptr buffer1+4 sub eax,dword ptr buffer2 sbb edx,dword ptr buffer2+4
¡²½â´ð¡³
£¨1£© ; ESI£½9CH ; ESI£½80H ; ESI£½FFH ; ESI£½01H
£¨2£© ; EAX£½1010B£¨¿ÉÒÔÓÐǰµ¼0£¬ÏÂͬ£© ; EAX£½0010B£¬CF£½1 ; EAX£½0100B£¬CF£½0 ; EAX£½0000B£¬CF£½0
£¨3£© ; EAX£½1011B£¨¿ÉÒÔÓÐǰµ¼0£¬ÏÂͬ£© ; EAX£½101100B£¬CF£½0 ; EAX£½10110B£¬CF£½0 ; EAX£½10111B£¬CF£½0
£¨4£© ; EAX£½0£¬CF£½0£¬OF£½0 ; ZF£½1£¬SF£½0£¬PF£½1
¡²Ï°Ìâ3.24¡³3.24 ¸ø³öÏÂÁи÷ÌõÖ¸ÁîÖ´ÐкóAXµÄ½á¹û£¬ÒÔ¼°×´Ì¬±êÖ¾CF¡¢OF¡¢SF¡¢ZF¡¢PFµÄ״̬¡£
mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax
test ax,0f0f0h
£ £13
¡²½â´ð¡³
mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax
test ax,0f0f0h ; AX£½1470H ; AX£½1470H ; AX£½1470H ; AX£½0000H ; AX£½FFFFH ; AX£½0F0F0H CF OF 0 0 0 0 0 0 0 0 0 0 SF 0 0 0 0 1 ZF 0 0 1 1 0 PF 0 0 1 1 1
¡²Ï°Ìâ3.25¡³Âß¼ÔËËãÖ¸ÁîÔõôʵÏÖ¸´Î»¡¢ÖÃλºÍÇó·´¹¦ÄÜ£¿
¡²½â´ð¡³
ANDÖ¸Áîͬ¡°0¡±ÓëʵÏÖ¸´Î»£¬ORÖ¸Áîͬ¡°1¡±»òʵÏÖÖÃ룬XORͬ¡°1¡±Òì»òʵÏÖÇó·´¡£
¡²Ï°Ìâ3.26¡³ËµÃ÷ÈçϳÌÐò¶ÎµÄ¹¦ÄÜ£º
next:
mov ecx,16 mov bx,ax shr ax,1 rcr edx,1 shr bx,1 rcr edx,1 loop next mov eax,edx
¡²½â´ð¡³
½«AXµÄÿһλÒÀ´ÎÖØ¸´Ò»´Î£¬ËùµÃµÄ32λ½á¹û±£´æÓÚEAXÖС£ ¡²Ï°Ìâ3.27¡³
±à³Ì½«Ò»¸ö64λÊý¾ÝÂß¼×óÒÆ3룬¼ÙÉèÕâ¸öÊý¾ÝÒѾ±£´æÔÚEDX.EAX¼Ä´æÆ÷¶ÔÖС£ ¡²½â´ð¡³
again:
¡²Ï°Ìâ3.28¡³±à³Ì½«Ò»¸öѹËõBCDÂë±äÁ¿£¨ÀýÈç92H£©×ª»»Îª¶ÔÓ¦µÄASCIIÂ룬Ȼºóµ÷ÓÃDISPC×Ó³ÌÐò£¨ÔÚÊäÈëÊä³ö×Ó³ÌÐò¿âÖУ©ÏÔʾ¡£ ¡²½â´ð¡³ bcd
¡²Ï°Ìâ3.29¡³ÒÔMOVSÖ¸ÁîΪÀý£¬ËµÃ÷´®²Ù×÷Ö¸ÁîµÄÑ°Ö·ÌØµã£¬²¢ÓÃMOVºÍADDµÈÖ¸ÁîʵÏÖMOVSDµÄ¹¦ÄÜ£¨¼ÙÉèDF£½0£©¡£ ¡²½â´ð¡³
MOVSÖ¸ÁîµÄ¹¦ÄÜÊÇ£º
ES:[EDI]¡ûDS:[ESI]£»ESI¡ûESI¡À1/2/4£¬EDI¡ûEDI¡À1/2/4 Óɴ˿ɿ´³ö´®²Ù×÷Ö¸ÁîµÄÑ°Ö·ÌØµã£º
Ô´²Ù×÷ÊýÓüĴæÆ÷ESI¼ä½ÓѰַ£¬Ä¬ÈÏÔÚDSÖ¸ÏòµÄÊý¾Ý¶Î£¬µ«¿ÉÒԸı䣻ĿµÄ²Ù×÷ÊýÓüĴæÆ÷EDI¼ä½ÓѰַ£¬Ö»ÄÜÔÚESÖ¸ÏòµÄ¸½¼ÓÊý¾Ý¶Î£»Ã¿Ö´ÐÐÒ»´Î´®²Ù×÷£¬Ô´Ö¸ÕëESIºÍÄ¿µÄÖ¸ÕëEDI½«×Ô¶¯Ð޸ģº¡À1£¨×Ö½Ú£©£¬¡À2£¨×Ö£©»ò¡À4£¨Ë«×Ö£©¡£Ö¸ÕëµÄÔöÁ¿ºÍ¼õÁ¿¿ØÖÆÓÉDF±ê־ȷ¶¨£¬DF£½0£¬½øÐÐÔöÁ¿£»DF£½1£¬½øÐмõÁ¿¡£ push eax
; Êý¾Ý¶Î
byte 92h ; ´úÂë¶Î mov al,bcd shr al,4 add al,30h call dispc mov al,bcd and al,0fh add al,30h call dispc ; ´úÂë¶Î mov ecx,3 shl eax,1 rcl edx,1 loop again
£ £14
mov eax,[esi] mov es:[edi],eax add esi,4 add edi,4
¡²Ï°Ìâ3.30¡³ËµÃ÷ÈçϳÌÐòÖ´ÐкóµÄÏÔʾ½á¹û£º
; Êý¾Ý¶Î msg byte 'WELLDONE',0 ; ´úÂë¶Î mov ecx,(lengthof msg)-1 mov ebx,offset msg again: mov al,[ebx] add al,20h mov [ebx],al add ebx,1 loop again mov eax,offset msg call dispmsg
Èç¹û½«ÆäÖÐÓï¾ä¡°mov ebx,offset msg¡±¸ÄΪ¡°xor ebx,ebx¡±£¬ÔòÀûÓÃEBX¼ä½ÓѰַµÄÁ½¸öÓï¾äÈçºÎÐ޸ijÉEBX¼Ä´æÆ÷Ïà¶ÔѰַ£¬¾Í¿ÉÒÔʵÏÖͬÑù¹¦ÄÜ£¿ ¡²½â´ð¡³
ÏÔʾ½á¹û£ºwelldone EBX¼Ä´æÆ÷Ïà¶ÔѰַ£º mov al,msg[ebx] mov msg[ebx],al
¡²Ï°Ìâ3.31¡³ÏÂÃæ³ÌÐòµÄ¹¦ÄÜÊǽ«Êý×éARRAY1µÄÿ¸öÔªËØ¼Ó¹Ì¶¨Öµ£¨8000H£©£¬½«ºÍ±£´æÔÚÊý×éARRAY2¡£ÔÚ¿Õ°×´¦ÌîÈëÊʵ±µÄÓï¾ä»òÓï¾äµÄÒ»²¿·Ö¡£
array1 array2
again:
; Êý¾Ý¶Î
dword 1,2,3,4,5,6,7,8,9,10 dword 10 dup(?) ; ´úÂë¶Î
mov ecx,lengthof array1 mov ebx,0
mov eax,array1[ebx*4] add eax,8000h
mov ______________ add ebx,__________ loop again
¡²½â´ð¡³ mov array2[ebx*4],eax add ebx,1 ¡²Ï°Ìâ3.32¡³
ÉÏ»úʵÏÖ±¾ÕµÄÀýÌâ³ÌÐò£¬±à³ÌʵÏÖ±¾ÕµÄϰÌâ³ÌÐò¡£
µÚ4Õ »ã±àÓïÑÔ³ÌÐòÉè¼Æ ¡²Ï°Ìâ4.1¡³¼ò´ðÌâ
£¨1£©ÊÇÊ²Ã´ÌØµã¾ö¶¨ÁËÄ¿±êµØÖ·µÄÏà¶ÔѰַ·½Ê½Ó¦ÓÃ×î¶à£¿
£¨2£©Ê²Ã´ÊÇÆæÅ¼Ð£Ñ飿
£¨3£©ÎªÊ²Ã´ÅжÏÎÞ·ûºÅÊý´óСºÍÓзûºÅ´óСµÄÌõ¼þ×ªÒÆÖ¸Áͬ£¿ £¨4£©Ë«·ÖÖ§½á¹¹ÖÐÁ½¸ö·ÖÖ§ÌåÖ®¼äµÄJMPÖ¸ÁîÓÐʲô×÷Óã¿ £¨5£©ÎªÊ²Ã´ÌرðÇ¿µ÷Ϊ×Ó³ÌÐò¼ÓÉϱØÒªµÄ×¢ÊÍ£¿
£¨6£©×Ó³ÌÐò²ÉÓöÑÕ»´«µÝ²ÎÊý£¬ÎªÊ²Ã´ÒªÌرð×¢Òâ¶ÑջƽºâÎÊÌ⣿ £¨7£©²ÎÊý´«µÝµÄ¡°´«Öµ¡±ºÍ¡°´«Ö·¡±ÓÐÊ²Ã´Çø±ð£¿ £¨8£©INCLUDEÓï¾äºÍINCLUDELIBÓÐÊ²Ã´Çø±ð£¿ £¨9£©»ìºÏ±à³ÌÓÐʲôÓÅÊÆ£¿
£ £15
£¨10£©ÔËÐÐWindows³ÌÐò£¬ÓÐʱΪʲô»áÌáʾij¸öDLLÎļþ²»´æÔÚ£¿
¡²½â´ð¡³
¢Ù µ±Í¬Ò»¸ö³ÌÐò±»²Ù×÷ϵͳ°²Åŵ½²»Í¬µÄ´æ´¢ÇøÓòÖ´ÐÐʱ£¬Ö¸Áî¼äµÄÎ»ÒÆÃ»Óиı䣬Ŀ±êµØÖ·²ÉÓÃÏà¶ÔѰַ¿É·½±ã²Ù×÷ϵͳµÄÁé»îµ÷¶È¡£
¢Ú Êý¾ÝͨÐÅʱ£¬Êý¾ÝµÄijһλÓÃ×ö´«ÊäÊý¾ÝµÄÆæÅ¼Ð£Ñé룬Êý¾ÝÖаüÀ¨Ð£ÑéλÔÚÄڵġ°1¡±µÄ¸öÊýºãÎªÆæÊý£¬¾ÍÊÇÆæÐ£Ñ飻ºãΪżÊý£¬¾ÍÊÇżУÑé¡£
¢Û ÎÞ·ûºÅÊýºÍÓзûºÅÊýµÄ²Ù×÷Ó°ÏìÁ½×鲻ͬµÄ±ê־״̬룬¹ÊÅжÏÁ½¸öÎÞ·ûºÅÊýºÍÓзûºÅÊýµÄ´óС¹ØÏµÒªÀûÓò»Í¬µÄ±ê־λ×éºÏ£¬ËùÒÔÓжÔÓ¦µÄÁ½×éÖ¸Áî¡£
¢Ü Ë«·ÖÖ§½á¹¹ÖÐÁ½¸ö·ÖÖ§ÌåÖ®¼äµÄJMPÖ¸ÁÓÃÓÚʵÏÖ½áÊøÇ°Ò»¸ö·ÖÖ§»Øµ½¹²Í¬µÄ³ö¿Ú×÷Óá£
¢Ý ÍêÕûµÄ×Ó³ÌÐò×¢ÊͿɷ½±ã³ÌÐòÔ±µ÷ÓøÃ×Ó³ÌÐò£¬×Ó³ÌÐò×¢ÊͰüÀ¨×Ó³ÌÐòÃû¡¢×Ó³ÌÐò¹¦ÄÜ¡¢Èë¿Ú²ÎÊýºÍ³ö¿Ú²ÎÊý¡¢µ÷ÓÃ×¢ÒâÊÂÏîºÍÆäËû˵Ã÷µÈ¡£
¢Þ ×Ó³ÌÐò±£³Ö¶Ñջƽºâ£¬²ÅÄܱ£Ö¤Ö´ÐÐRETÖ¸Áîʱµ±Ç°Õ»¶¥µÄÄÚÈÝÊÇÕýÈ·µÄ·µ»ØµØÖ·¡£Ö÷³ÌÐòÒ²Òª±£³Ö¶Ñջƽºâ£¬ÕâÑù²ÅÄÜÊÍ·Å´«µÝ²ÎÊýÕ¼ÓõĶÑÕ»¿Õ¼ä£¬·ñÔò¶à´Îµ÷ÓøÃ×Ó³ÌÐò¿ÉÄܾÍÖÂʹ¶ÑÕ»Òç³ö¡£
¢ß ¡°´«Öµ¡±ÊÇ´«µÝ²ÎÊýµÄÒ»¸ö¿½±´£¬±»µ÷ÓóÌÐò¸Ä±äÕâ¸ö²ÎÊý²»Ó°Ïìµ÷ÓóÌÐò£»¡°´«Ö·¡±Ê±£¬±»µ÷ÓóÌÐò¿ÉÄÜÐÞ¸Äͨ¹ýµØÖ·ÒýÓõıäÁ¿ÄÚÈÝ¡£
¢à INCLUDEÓï¾ä°üº¬µÄÊÇÎı¾Îļþ¡¢ÊÇÔ´³ÌÐòÎļþµÄÒ»²¿·Ö£»INCLUDELIBÓï¾ä°üº¬µÄÊÇ×Ó³ÌÐò¿âÎļþ¡£ ¢á È¡³¤²¹¶Ì¡£
¢â Windows³ÌÐòÔÚÔËÐÐʱÐèÒª¼ÓÔØÆäÅäÌ׵Ķ¯Ì¬Á´½Ó¿âDLLÎļþ£¬µ±ÆäûÓб»ËÑË÷µ½Ê±¾Í»áÌáʾ²»´æÔÚ¡£ ¡²Ï°Ìâ4.2¡³ÅжÏÌâ
£¨1£©Ö¸ÁîÖ¸Õë»òÕß»¹°üÀ¨´úÂë¶Î¼Ä´æÆ÷ÖµµÄ¸Ä±ä½«ÒýÆð³ÌÐòÁ÷³ÌµÄ¸Ä±ä¡£ £¨2£©JMPÖ¸Áî¶ÔÓ¦¸ß¼¶ÓïÑÔµÄGOTOÓï¾ä£¬ËùÒÔ²»ÄÜʹÓá£
£¨3£©ÒòΪÌõ¼þ×ªÒÆÖ¸ÁîJccÒªÀûÓñêÖ¾×÷ΪÌõ¼þ£¬ËùÒÔÒ²Ó°Ïì±êÖ¾¡£
£¨4£©JAºÍJGÖ¸ÁîµÄÌõ¼þ¶¼ÊÇ¡°´óÓÚ¡±£¬ËùÒÔÊÇͬһ¸öÖ¸ÁîµÄÁ½¸öÖú¼Ç·û¡£ £¨5£©¿ØÖÆÑ»·ÊÇ·ñ½áÊøÖ»ÄÜÔÚÒ»´ÎÑ»·½áÊøÖ®ºó½øÐС£
£¨6£©½éÉÜLOOPÖ¸Áîʱ£¬³£ËµËüÏ൱ÓÚDEC ECXºÍJNZÁ½ÌõÖ¸Áî¡£µ«¿¼ÂǶÔ״̬±êÖ¾µÄÓ°Ï죬ËüÃÇÓвî±ð¡£LOOPÖ¸Áî²»Ó°Ïì±êÖ¾£¬¶øDECÖ¸ÁîÈ´»áÓ°Ïì³ýCFÖ®ÍâµÄÆäËû״̬±êÖ¾¡£
£¨7£©CALLÖ¸ÁîÓÃÔÚµ÷ÓóÌÐòÖУ¬Èç¹û±»µ÷ÓóÌÐòÖÐÒ²ÓÐCALLÖ¸Á˵Ã÷³öÏÖÁËǶÌס£ £¨8£©×Ó³ÌÐòÐèÒª±£»¤¼Ä´æÆ÷£¬°üÀ¨±£»¤´«µÝÈë¿Ú²ÎÊýºÍ³ö¿Ú²ÎÊýµÄͨÓüĴæÆ÷¡£ £¨9£©ÀûÓÃINCLUDE°üº¬µÄÔ´Îļþʵ¼ÊÉÏÖ»ÊÇÔ´³ÌÐòµÄÒ»²¿·Ö¡£
£¨10£©µ¼Èë¿âÎļþºÍ¾²Ì¬×Ó³ÌÐò¿âÎļþµÄÀ©Õ¹Ãû¶¼ÊÇLIB£¬ËùÒÔÁ½ÕßÐÔÖÊÏàͬ¡£ ¡²½â´ð¡³
¢Ù ¶Ô ¢Þ ¶Ô
¢Ú ´í ¢ß ¶Ô
¢Û ´í ¢à ´í
¢Ü ´í ¢á ¶Ô
¢Ý ´í ¢â ´í
¡²Ï°Ìâ4.3¡³Ìî¿ÕÌâ
£¨1£©JMPÖ¸Áî¸ù¾ÝÄ¿±êµØÖ·µÄ×ªÒÆ·¶Î§ºÍѰַ·½Ê½£¬¿ÉÒÔ·Ö³ÉËÄÖÖÀàÐÍ£º¶ÎÄÚ×ªÒÆ¡¢__________£¬¶ÎÄÚ×ªÒÆ¡¢__________ºÍ¶Î¼ä×ªÒÆ¡¢__________£¬¶Î¼ä×ªÒÆ¡¢__________¡£
£¨2£©¼ÙÉèÔÚÆ½Õ¹´æ´¢Ä£ÐÍÏ£¬EBX£½1256H£¬Ë«×Ö±äÁ¿TABLEµÄÆ«ÒÆµØÖ·ÊÇ20A1H£¬ÏßÐÔµØÖ·32F7H´¦´æ·Å3280H£¬Ö´ÐÐÖ¸Áî¡°JMP EBX¡± ºóEIP£½__________£¬Ö´ÐÐÖ¸Áî¡°JMP TABLE[EBX]¡±ºóEIP£½__________¡£
£¨3£©¡°CMP EAX,3721H¡±Ö¸ÁîÖ®ºóÊÇJZÖ¸Á·¢Éú×ªÒÆµÄÌõ¼þÊÇEAX£½__________£¬´ËʱZF£½__________¡£
£¨4£©Ð¡Ð´×Öĸ¡°e¡±ÊÇÓ¢Îĵ±ÖгöÏÖÆµÂÊ×î¸ßµÄ×Öĸ¡£Èç¹ûij¸öÓ¢ÎÄÎĵµÀûÓÃÀýÌâ4-11µÄÒì»ò·½·¨½øÐмòµ¥¼ÓÃÜ£¬Í³¼Æ·¢ÏÖÃÜÎÄÖÐ×Ö½ÚÊý¾Ý¡°8FH¡±×î¶à£¬ÄãÅжϸóÌÐò²ÉÓõÄ×Ö½ÚÃÜÂë¿ÉÄÜÊÇ__________¡£
£¨5£©Ñ»·½á¹¹³ÌÐòÒ»°ãÓÐÈý¸ö²¿·Ö×é³É£¬ËüÃÇÊÇ__________£¬Ñ»·ÌåºÍ__________²¿·Ö¡£
£¨6£©ÀýÌâ4-14³ÌÐòÖеÄRETÖ¸ÁÈç¹ûÓÃPOP EBPÖ¸ÁîºÍJMP EBPÖ¸ÁîÌæ»»£¬´ËʱEBPÄÚÈÝÊÇ__________¡£
£¨7£©¹ý³Ì¶¨Ò忪ʼÊÇ¡°TEST PROC¡±Óï¾ä£¬Ôò¹ý³Ì¶¨Òå½áÊøµÄÓï¾äÊÇ__________¡£ºê¶¨Ò忪ʼÊÇ¡°DISP MACRO¡±Óï¾ä£¬Ôòºê¶¨Òå½áÊøµÄÓï¾äÊÇ__________¡£
£¨8£©ÀûÓöÑÕ»´«µÝ×Ó³ÌÐò²ÎÊýµÄ·½·¨Êǹ̶¨µÄ£¬ÀýÈçѰַ¶ÑÕ»¶ÎÊý¾ÝµÄ¼Ä´æÆ÷ÊÇ__________¡£
£¨9£©MASM»ã±àÓïÑÔÖУ¬ÉùÃ÷Ò»¸ö¹²ÓõıäÁ¿Ó¦Ê¹ÓÃ__________αָÁ¶øÊ¹ÓÃÍⲿ±äÁ¿ÒªÊ¹ÓÃ__________αָÁîÉùÃ÷¡£ £¨10£©µ÷ÓÃReadConsoleº¯Êýʱ£¬Óû§ÔÚ¼üÅÌÉϰ´ÏÂÊý×Ö8£¬È»ºó»Ø³µ£¬Ôò¼üÅÌ»º³åÇøµÄÄÚÈÝÒÀ´ÎÊÇ__________¡£ ¡²½â´ð¡³
¢Ù Ïà¶ÔѰַ£¬¼ä½ÓѰַ£¬Ö±½ÓѰַ£¬¼ä½ÓѰַ ¢Ú 1256H£¬3280H ¢Û 3721H£¬1 ¢Ü EAH
¢Ý Ñ»·³õʼ£¬Ñ»·¿ØÖÆ ¢Þ REPT1±êºÅµÄµØÖ· ¢ß TEST ENDP£¬ENDM ¢à EBP
¢á PUBLIC£¬EXTERN ¢â 38H 0DH 0AH
£ £16
¡²Ï°Ìâ4.4¡³ÎªÁËÑéÖ¤ÀýÌâ4-1³ÌÐòµÄÖ´Ðз¾¶£¬¿ÉÒÔÔÚÿ¸ö±êºÅǰºóÔö¼ÓÏÔʾ¹¦ÄÜ¡£ÀýÈçʹµÃ³ÌÐòÔËÐкóÏÔʾÊýÂë1234¡£ ¡²½â´ð¡³
labl1:
labl2:
labl3:
labl4:
¡²Ï°Ìâ4.5¡³Ê¹Óá°SHR EAX,2¡±½«EAXÖеÄD1Î»ÒÆÈëCF±êÖ¾£¬È»ºóÓÃJC/JNCÖ¸ÁîÌæ´úJZ/JNZÖ¸ÁîÍê³ÉÀýÌâ4-3µÄ¹¦ÄÜ¡£ ¡²½â´ð¡³
mov eax,56h shr eax,2 jnc nom ...
; ¼ÙÉèÒ»¸öÊý¾Ý ; D1Î»ÒÆÈëCF±êÖ¾ ; D1£½0Ìõ¼þ³ÉÁ¢£¬×ªÒÆ ; ÓàͬԳÌÐò
jmp labl1 ; Ïà¶ÔѰַ nop
mov eax,'?' call dispc mov eax,'1' call dispc
jmp near ptr labl2 ; Ïà¶Ô½ü×ªÒÆ nop
mov eax,'?' call dispc mov eax,'2' call dispc
mov eax,offset labl3 jmp eax ; ¼Ä´æÆ÷¼ä½ÓѰַ nop
mov eax,'?' call dispc mov eax,'3' call dispc
mov eax,offset labl4 mov nvar,eax jmp nvar ; ´æ´¢Æ÷¼ä½ÓѰַ nop
mov eax,'?' call dispc mov eax,'4' call dispc
¡²Ï°Ìâ4.6¡³
Ö´ÐÐÈçϳÌÐòƬ¶Ïºó£¬CMPÖ¸Áî·Ö±ðʹµÃ5¸ö״̬±êÖ¾CF¡¢ZF¡¢SF¡¢OFºÍPFΪ0»¹ÊÇΪ1£¿Ëü»áʹµÃÄÄЩÌõ¼þ×ªÒÆÖ¸ÁîÖ¸ÁîJccµÄÌõ¼þ³ÉÁ¢¡¢·¢Éú×ªÒÆ£¿ mov eax,20h cmp eax,80h ¡²½â´ð¡³
CF£½1 ZF£½0 SF£½1 OF£½0 PF£½1
¿ÉÒÔʹµÃÌõ¼þ³ÉÁ¢¡¢·¢Éú×ªÒÆµÄÖ¸ÁîÓУºJC JS JP JNZ JNO
¡²Ï°Ìâ4.7¡³½«ÀýÌâ4-4³ÌÐòÐÞ¸ÄΪʵÏÖżУÑé¡£½¨Òé½øÒ»²½Ôö¼ÓÏÔʾÓйØÌáʾÐÅÏ¢µÄ¹¦ÄÜ£¬Ê¹µÃ³ÌÐò¾ßÓиü¼ÓÁ¼ºÃµÄ½»»¥ÐÔ¡£ ¡²½â´ð¡³
include io32.inc .data
msg1 byte 'Please input a character: ',0
msg2 byte 'The ASCII code of the charater you entered is: ',0 msg3 byte 'The code with even parity is: ',0 .code start: mov eax,offset msg1 call dispmsg
£ £17
next:
call readc call dispcrlf mov ebx,eax
mov eax,offset msg2 call dispmsg mov eax,ebx call dispbb call dispcrlf and al,7fh jp next or al,80h mov ebx,eax
mov eax,offset msg3 call dispmsg mov eax,ebx call dispbb exit 0 end start
¡²Ï°Ìâ4.8¡³ÔÚ²ÉÓÃÆæÅ¼Ð£Ñé´«ÊäÊý¾ÝµÄ½ÓÊÕ¶ËÓ¦¸ÃÑéÖ¤Êý¾Ý´«ÊäµÄÕýÈ·ÐÔ¡£ÀýÈ磬Èç¹û²ÉÓÃżУÑ飬ÄÇôÔÚ½ÓÊÕµ½µÄÊý¾ÝÖУ¬Æä°üº¬¡°1¡±µÄ¸öÊýÓ¦¸ÃΪ0»òżÊý¸ö£¬·ñÔò˵Ã÷³öÏÖ´«Êä´íÎó¡£ÏÖÔÚ£¬ÔÚ½ÓÊն˱àдһ¸öÕâÑùµÄ³ÌÐò£¬Èç¹ûżУÑé²»ÕýÈ·ÏÔʾ´íÎóÐÅÏ¢£¬´«ÊäÕýÈ·Ôò¼ÌÐø¡£¼ÙÉè´«ËÍ×Ö½ÚÊý¾Ý¡¢×î¸ßλ×÷ΪУÑé룬½ÓÊÕµ½µÄÊý¾ÝÒѾ±£´æÔÚRdata±äÁ¿ÖС£ ¡²½â´ð¡³
Rdata error
done:
; Êý¾Ý¶Î byte 57h byte 'Error !',0 ; ´úÂë¶Î mov al,Rdata and al,0ffh jp done mov eax,offset error call dispmsg
;±£´æ½ÓÊÕµÄÊý¾Ý
;±êÖ¾PF·´Ó³¡°1¡±µÄ¸öÊý ;¸öÊýΪżÊý£¬ÕýÈ·¼ÌÐø ;¸öÊýÎªÆæÊý£¬ÏÔʾ³ö´í
¡²Ï°Ìâ4.9¡³
Ö¸ÁîCDQ½«EAX·ûºÅÀ©Õ¹µ½EDX£¬¼´£ºEAX×î¸ßΪ0£¬ÔòEDX£½0£»EAX×î¸ßΪ1£¬ÔòEDX£½FFFFFFFFH¡£Çë±à³ÌʵÏÖ¸ÃÖ¸ÁÄÜ¡£
¡²½â´ð1¡³ test eax,8000h jz next1 mov edx,0ffffffffh jmp done next1: mov dx,0 done:
¡²½â´ð2¡³
ʹÓÃÒÆÎ»Ö¸Áî¸üºÃ¡£ rol eax,1 rcr edx,1 sar edx,31 ror eax,1
¡²Ï°Ìâ4.10¡³±à³Ì£¬Ê×ÏȲâÊÔË«×Ö±äÁ¿DVARµÄ×î¸ß룬Èç¹ûΪ1£¬ÔòÏÔʾ×Öĸ¡°L¡±£»Èç¹û×î¸ßλ²»Îª1£¬Ôò¼ÌÐø²âÊÔ×îµÍ룬Èç¹û×îµÍλΪ1£¬ÔòÏÔʾ×Öĸ¡°R¡±£»Èç¹û×îµÍλҲ²»Îª1£¬ÔòÏÔʾ×Öĸ¡°M¡±¡£ ¡²½â´ð¡³
dvar
; Êý¾Ý¶Î dword 57h ; ´úÂë¶Î mov eax,dvar
test eax,80000000h
; ²âÊÔ×î¸ßλ
; ×î¸ßλΪ0£¨ZF£½1£©£¬×ªÒƵ½±êºÅNEXT1 ; ×î¸ßλΪ1£¬Ë³ÐòÖ´ÐУºÉèÖÃEDX£½FFFFFFFFH ; ÎÞÌõ¼þ×ªÒÆ£¬Ìø¹ýÁíÒ»¸ö·ÖÖ§
; ×î¸ßλΪ0×ªÒÆµ½´ËÖ´ÐУºÉèÖÃEDX£½0
£ £18
nextl:
nextr: done:
jnz nextl test eax,1 jnz nextr mov al,'M' jmp done mov al,'L' jmp done mov al,'R' call dispc
¡²Ï°Ìâ4.11¡³±àдһ¸ö³ÌÐò£¬ÏÈÌáʾÊäÈëÊý×Ö¡°Input Number£º0¡«9¡±£¬È»ºóÔÚÏÂÒ»ÐÐÏÔʾÊäÈëµÄÊý×Ö£¬½áÊø£»Èç¹û²»ÊǼüÈëÁË0¡«9Êý×Ö£¬¾ÍÌáʾ´íÎó¡°Error!¡±£¬¼ÌÐøµÈ´ýÊäÈëÊý×Ö¡£ ¡²½â´ð¡³
inmsg ermsg
again:
erdisp:
done:
¡²Ï°Ìâ4.12¡³ÓÐÒ»¸öÊ×µØÖ·ÎªARRAYµÄ20¸öË«×ÖµÄÊý×飬˵Ã÷ÏÂÁгÌÐò¶ÎµÄ¹¦ÄÜ¡£
sumlp:
mov ecx,20 mov eax,0 mov esi,eax
add eax,array[esi] add esi,4 loop sumlp mov total,eax
; Êý¾Ý¶Î
byte 'Input number(0~9): ',0
byte 0dh,0ah,'Error! Input again: ',0 ; ´úÂë¶Î
mov eax,offset inmsg ; ÌáʾÊäÈëÊý×Ö call dispmsg call readc ; µÈ´ý°´¼ü cmp al,'0' ; Êý×Ö < 0£¿ jb erdisp cmp al,'9' ; Êý×Ö > 9£¿ ja erdisp call dispcrlf call dispc jmp done
mov eax,offset ermsg call dispmsg jmp again
¡²½â´ð¡³
ÇóÕâ20¸öË«×ֵĺͣ¬±£´æÔÚTOTAL±äÁ¿£¬²»¹Ø½øÐĽøÎ»ºÍÒç³ö¡£
¡²Ï°Ìâ4.13¡³±à³ÌÖо³£Òª¼Ç¼ij¸ö×Ö·û³öÏֵĴÎÊý¡£ÏÖ±à³Ì¼Ç¼ij¸ö×Ö·û´®Öпոñ³öÏֵĴÎÊý£¬½á¹û±£´æÔÚSPACEµ¥Ôª¡£ ¡²½â´ð¡³
string space
again:
next:
; Êý¾Ý¶Î
byte 'Do you have fun with Assembly ?',0 ;ÒÔ0½áβµÄ×Ö·û´® dword ? ; ´úÂë¶Î
mov esi,offset string xor ebx,ebx ;EBXÓÃÓڼǼ¿Õ¸ñÊý mov al,[esi] cmp al,0 jz done cmp al,20h ;¿Õ¸ñµÄASCIIÂëÊÇ20H jne next ;²»ÏàµÈ¡¢²»Êǿոñ£¬×ªÒÆ inc bx ;ÏàµÈ¡¢Êǿոñ£¬¿Õ¸ñ¸öÊý¼Ó1 inc esi
£ £19
done:
jmp again mov space,ebx ;¼ÌÐøÑ»· ;±£´æ½á¹û
¡²Ï°Ìâ4.14¡³±àд¼ÆËã100¸ö16λÕýÕûÊýÖ®ºÍµÄ³ÌÐò¡£Èç¹ûºÍ²»³¬¹ý16λ×ֵķ¶Î§£¨65535£©£¬Ôò±£´æÆäºÍµ½WORDSUM£¬È糬¹ýÔòÏÔʾ¡®Overflow !¡¯¡£ ¡²½â´ð¡³
array wordsum error
again:
over:
¡²Ï°Ìâ4.15¡³ÔÚÒ»¸öÒÑÖª³¤¶ÈµÄ×Ö·û´®ÖвéÕÒÊÇ·ñ°üº¬¡°BUG¡±×Ó×Ö·û´®¡£Èç¹û´æÔÚ£¬ÏÔʾ¡°Y¡±£¬·ñÔòÏÔʾ¡°N¡±¡£ ¡²½â´ð¡³
string count bug L1: LN: L2: L3:
¡²Ï°Ìâ4.16¡³Ö÷´æÖÐÓÐÒ»¸ö8λѹËõBCDÂëÊý¾Ý£¬±£´æÔÚÒ»¸öË«×Ö±äÁ¿ÖС£ÏÖÔÚÐèÒª½øÐÐÏÔʾ£¬µ«ÒªÇó²»ÏÔʾǰµ¼0¡£ÓÉÓÚλÊý½Ï¶à£¬ÐèÒªÀûÓÃÑ»·ÊµÏÖ£¬µ«ÈçºÎ´¦Àíǰµ¼0ºÍÊý¾ÝÖмäµÄ0ÄØ£¿²»·ÁÉèÖÃÒ»¸ö±ê¼Ç¡£±à³ÌʵÏÖ¡£ ¡²½â´ð¡³ bcd
; Êý¾Ý¶Î
dword 00371002h ; ´úÂë¶Î mov esi,bcd cmp esi,0
; Êý¾Ý¶Î
byte 'If you find any error in the program, you can DEBUG it.' = sizeof string byte 'BUG' ; ´úÂë¶Î
mov ecx,count
mov edi,offset string mov esi,offset bug push edi
mov edx,sizeof bug mov al,[esi] cmp [edi],al jne L2 inc esi inc edi dec edx jne LN pop edi mov al,'Y' jmp L3 pop edi inc edi loop L1 mov al,'N' call dispc
; Êý¾Ý¶Î
word 2005,2008,98 dup (1394) ; ¼ÙÉè100¸ö16λÕýÕûÊý word ?
byte 'Overflow !',0 ; ´úÂë¶Î and ebx,0 mov ecx,100 xor ax,ax
add ax,array[ebx*2] jc over inc ebx loop again mov wordsum,ax
mov eax,offset error call dispmsg
£ £20
goon:
again:
disp:
next: done:
jnz goon mov al,'0' call dispc jmp done mov ecx,8 xor ebx,ebx rol esi,4 mov eax,esi and eax,0fh cmp ebx,0 jnz disp cmp eax,0 jz next mov ebx,1 add al,30h call dispc loop again
; EBX£½0£¬±íʾ¿ÉÄÜÊÇǰµ¼0
; EAXµÍ4λ±£´æµ±Ç°ÒªÏÔʾµÄBCDÂë ; EBX¡Ù0£¬ËµÃ÷²»ÊÇǰµ¼0£¬ÒªÏÔʾ ; EBX£½0£¬ËµÃ÷¿ÉÄÜÊÇǰµ¼0
; EAX£½0£¬ËµÃ÷ÊÇǰµ¼0£¬²»ÏÔʾ
; EAX¡Ù0£¬Ã»ÓÐǰµ¼0ÁË£¬ÁîEBX£½1¡Ù0
¡²Ï°Ìâ4.17¡³ÒÑÖªÒ»¸ö×Ö·û´®µÄ³¤¶È£¬ÌÞ³ýÆäÖÐËùÓеĿոñ×Ö·û¡£Çë´Ó×Ö·û´®×îºóÒ»¸ö×Ö·û¿ªÊ¼Öð¸öÏòǰÅжϡ¢²¢½øÐд¦Àí¡£ ¡²½â´ð¡³
string
outlp:
inlp:
next:
done:
¡²Ï°Ìâ4.18¡³µÚ3ÕÂϰÌâ3.14ÔÚÆÁÄ»ÉÏÏÔʾASCII±í£¬ÏÖ½öÔÚÊý¾Ý¶ÎÉèÖñí¸ñ»º³åÇø£¬±à³Ì½«ASCII´úÂëÖµÌîÈëÁô³öλÖõıí¸ñ£¬È»ºóµ÷ÓÃÏÔʾ¹¦ÄÜʵÏÖ£¨ÐèÒªÀûÓÃË«ÖØÑ»·£©¡£ ¡²½â´ð¡³
table
tab1
start:
include io32.inc .data
byte ' |0 1 2 3 4 5 6 7 8 9 A B C D E F',13,10 byte '---+-------------------------------',13,10 byte 6 dup(36 dup(?),13,10) byte 0 .code
; Êý¾Ý¶Î
byte 'Let us have a try !',0dh,0ah,0 ; ´úÂë¶Î
mov ecx,sizeof string cmp ecx,2 jb done
lea eax,string ; ÏÔʾ´¦ÀíǰµÄ×Ö·û´® call dispmsg mov esi,ecx dec esi
cmp string[esi],' ' ; ¼ì²âÊÇ·ñÊǿոñ jnz next ; ²»Êǿոñ¼ÌÐøÑ»· mov edi,esi ; Êǿոñ£¬½øÈëÌÞ³ý¿Õ¸ñ·ÖÖ§ dec ecx inc edi
mov al,string[edi] ; Ç°ÒÆÒ»¸öλÖà mov string[edi-1],al cmp edi,ecx jb inlp dec esi ; ¼ÌÐø½øÐÐ cmp esi,0 jnz outlp ; Ϊ0½áÊø lea eax,string ; ÏÔʾ´¦ÀíºóµÄ×Ö·û´® call dispmsg
£ £21
again0:
again1:
mov ebx,offset tab1 mov edx,'| 02' mov ax,2020h mov esi,6 mov [ebx],edx add ebx,4 mov ecx,16
mov word ptr [ebx],ax add ebx,2 inc al
loop again1 add ebx,2 add edx,1 dec esi jnz again0
mov eax,offset table call dispmsg exit 0 end start
¡²Ï°Ìâ4.19¡³Çë°´ÈçÏÂ˵Ã÷±àд×Ó³ÌÐò£º
×Ó³ÌÐò¹¦ÄÜ£º°ÑÓÃASCIIÂë±íʾµÄÁ½Î»Ê®½øÖÆÊýת»»ÎªÑ¹ËõBCDÂë Èë¿Ú²ÎÊý£ºDH£½Ê®Î»ÊýµÄASCIIÂ룬DL£½¸öλÊýµÄASCIIÂë ³ö¿Ú²ÎÊý£ºAL£½¶ÔÓ¦BCDÂë ¡²½â´ð¡³ asctob
asctob
¡²Ï°Ìâ4.20¡³³Ë·¨µÄ·ÇѹËõBCDÂëµ÷ÕûÖ¸ÁîAAMÖ´ÐеIJÙ×÷ÊÇ£ºAH¡ûAL¡Â10µÄÉÌ£¬AL¡ûAL¡Â10µÄÓàÊý¡£ÀûÓÃAAM¿ÉÒÔʵÏÖ½«ALÖеÄ100ÄÚÊý¾Ýת»»ÎªASCIIÂ룬³ÌÐòÈçÏ£º
xor ah,ah aam
add ax,3030h
ÀûÓÃÕâ¶Î³ÌÐò£¬±àдһ¸öÏÔʾALÖÐÊýÖµ£¨0¡«99£©µÄ×Ó³ÌÐò¡£
proc
xor ah,ah aam
add ax,3030h push ax mov al,ah call dispc pop ax call dispc ret endp proc shl dh,4 mov al,dh and dl,0fh or al,dl ret endp
¡²½â´ð¡³ disp99
disp99
¡²Ï°Ìâ4.21¡³±àдһ¸öÔ´³ÌÐò£¬ÔÚ¼üÅÌÉϰ´Ò»¸ö¼ü£¬½«Æä·µ»ØµÄASCIIÂëÖµÏÔʾ³öÀ´£¬Èç¹û°´ÏÂESC¼ü£¨¶ÔÓ¦ASCIIÂëÊÇ1BH£©Ôò³ÌÐòÍ˳ö¡£Çëµ÷ÓÃÊéÖеÄHTOASC×Ó³ÌÐò¡£ ¡²½â´ð¡³ ; ´úÂë¶Î£¬Ö÷³ÌÐò
£ £22
again:
done:
call readc cmp al,1bh jz done mov bl,al mov al,':' call dispc mov al,bl rol al,4 call htoasc call dispc mov al,bl call htoasc call dispc call dispcrlf jmp again
; µ÷ÓÃ×Ó³ÌÐò ; ÏÔʾһ¸ö×Ö·û ; µ÷ÓÃ×Ó³ÌÐò ; ÏÔʾһ¸ö×Ö·û
¡²Ï°Ìâ4.22¡³±àдһ¸ö×Ó³ÌÐò£¬ËüÒÔ¶þ½øÖÆÐÎʽÏÔʾEAXÖÐ32λÊý¾Ý£¬²¢Éè¼ÆÒ»¸öÖ÷³ÌÐòÑéÖ¤¡£ ¡²½â´ð¡³
dispbd
dbd:
dispbd
¡²Ï°Ìâ4.23¡³½«ÀýÌâ4-16µÄ32λ¼Ä´æÆ÷¸ÄÓÃ16λ¼Ä´æÆ÷£¬½öʵÏÖÊä³ö£2¡«£«2£1Ö®¼äµÄÊý¾Ý¡£ ¡²½â´ð¡³ ; Êý¾Ý¶Î array word 12345,-1234,32767,-32768,0,667 writebuf byte 6 dup(0) ; ´úÂë¶Î£¬Ö÷³ÌÐò mov ecx,lengthof array mov ebx,0 again:
mov ax,array[ebx*2] call write call dispcrlf
inc ebx ;´Ëʱebx´ú±íarrayÖеĵڼ¸¸öÊý dec ecx ;´Ëʱecx´ú±íÑ»·µÄ´ÎÊý jnz again ; ´úÂë¶Î£¬×Ó³ÌÐò
write proc ;×Ó³ÌÐò¿ªÊ¼ push ebx push ecx push edx
15
15
; ´úÂë¶Î£¬Ö÷³ÌÐò mov eax,8F98FF00H call dispbd
; ´úÂë¶Î£¬×Ó³ÌÐò proc push ecx push edx mov ecx,32 rol eax,1 push eax and al,01h add al,30h call dispc pop eax loop dbd pop edx pop ecx ret endp
; µ÷ÓÃ×Ó³ÌÐò
; 32λ¶þ½øÖÆÊýµÄÊä³ö
; ÒªÊä³öµÄ×Ö·û¸öÊý ; ALÑ»·×óÒÆÒ»Î» ; È¡AL×îµÍλ
; ת»¯³ÉÏàÓ¦µÄASCLLÂëÖµ ; ÒÔ¶þ½øÖƵÄÐÎʽÏÔʾ
£ £23
mov ebx,offset writebuf ;ebxÖ¸ÏòÏÔʾ»º³åÇø test ax,ax jnz write1
mov byte ptr [ebx],30h inc ebx jmp write5
write1: ;Èô²»Îª0ÔòÊ×ÏÈÅжÏÊÇÕýÊǸº jns write2 ;ÈôΪÕýÔòÌø¹ýÏÂÃæÁ½²½µ½write2 mov byte ptr [ebx],'-' inc ebx neg ax write2:
mov cx,10
push cx ;½«cx=10ѹÈëÕ»£¬×÷ΪÍ˳ö±êÖ¾
write3: ;write3ÊÇÈÃeaxÑ»·³ýÒÔ10²¢°ÑÓàÊýµÄASCIIÂëѹÈëÕ» cmp ax,0 jz write4 xor dx,dx div cx add dx,30h push dx jmp write3
write4: ;ÓàÊýµÄASCIIÂë³öÕ»£¬Óöµ½10ÖÕÖ¹²¢×ªµ½write5ÏÔʾ½á¹û pop dx cmp dx,cx jz write5
mov byte ptr [ebx],dl inc ebx jmp write4
write5: ;ÏÔʾ½á¹û mov byte ptr [ebx],0 mov eax,offset writebuf call dispmsg pop edx pop ecx pop ebx ret write endp
¡²Ï°Ìâ4.24¡³²Î¿¼ÀýÌâ4-17£¬±àдʵÏÖ32λÎÞ·ûºÅÕûÊýÊäÈëµÄ×Ó³ÌÐò£¬²¢Éè¼ÆÒ»¸öÖ÷³ÌÐòÑéÖ¤¡£ ¡²½â´ð¡³ ; Êý¾Ý¶Î count =10 array dword count dup(0) temp dword ?
readbuf byte 30 dup(0)
errmsg byte 'Input error,enter again!',13,10,0 msg1 byte 'Input ten unsigned numbers,each number ends with enter key:',13,10,0 msg2 byte 'Check the numbers your inputted:',13,10,0 ; ´úÂë¶Î£¬Ö÷³ÌÐò mov eax,offset msg1 call dispmsg mov ecx,count
mov ebx,offset array again:
call read mov eax,temp mov [ebx],eax add ebx,4
£ £24
dec ecx jnz again
mov eax,offset msg2 call dispmsg
mov edx,offset array mov ecx,count next:
mov eax,[edx] call dispuid call dispcrlf add edx,4 dec ecx jnz next ; ´úÂë¶Î£¬×Ó³ÌÐò read proc push eax push ecx push ebx push edx read0:
mov eax,offset readbuf call readmsg test eax,eax jz readerr cmp eax,12 ja readerr
mov edx,offset readbuf xor ebx,ebx xor ecx,ecx mov al,[edx] cmp al,'+' jz read1 cmp al,'-' jnz read2 jmp readerr read1:
inc edx
mov al,[edx] test al,al
jz read3 ;Èç¹ûΪ0£¬Ôò˵Ã÷¸Ã×Ö·û´®ÒѽáÊø read2:
cmp al,'0' jb readerr cmp al,'9' ja readerr sub al,30h
imul ebx,10 ;ebxÓÃÀ´´æ´¢´¦Àí¹ýµÄÊý¾Ý jc readerr movzx eax,al add ebx,eax jnc read1 readerr:
mov eax,offset errmsg call dispmsg jmp read0 read3:
mov temp,ebx pop edx pop ebx pop ecx
£ £25
pop eax ret read endp
¡²Ï°Ìâ4.25¡³±àдһ¸ö¼ÆËã×Ö½ÚУÑéºÍµÄ×Ó³ÌÐò¡£Ëùν¡°Ð£ÑéºÍ¡±ÊÇÖ¸²»¼Ç½øÎ»µÄÀÛ¼Ó£¬³£ÓÃÓÚ¼ì²éÐÅÏ¢µÄÕýÈ·ÐÔ¡£Ö÷³ÌÐòÌṩÈë¿Ú²ÎÊý£¬ÓÐÊý¾Ý¸öÊýºÍÊý¾Ý»º³åÇøµÄÊ×µØÖ·¡£×Ó³ÌÐò»ØËÍÇóºÍ½á¹ûÕâ¸ö³ö¿Ú²ÎÊý¡£ ¡²½â´ð¡³ ; ¼ÆËã×Ö½ÚУÑéºÍµÄͨÓùý³Ì ; Èë¿Ú²ÎÊý£ºDS:EBX£½Êý×éµÄ¶ÎµØÖ·:Æ«ÒÆµØÖ·£¬ECX=ÔªËØ¸öÊý ; ³ö¿Ú²ÎÊý£ºAL£½Ð£ÑéºÍ ; ˵Ã÷£º³ýEAX/EBX/ECXÍ⣬²»Ó°ÏìÆäËû¼Ä´æÆ÷ checksum proc xor al,al ; ÀÛ¼ÓÆ÷Çå0 sum: add al,[ebx] ; ÇóºÍ inc ebx ; Ö¸ÏòÏÂÒ»¸ö×Ö½Ú loop sum ret checksum endp ¡²Ï°Ìâ4.26¡³
±àÖÆ3¸ö×Ó³ÌÐò°ÑÒ»¸ö32λ¶þ½øÖÆÊýÓÃ8λʮÁù½øÖÆÐÎʽÔÚÆÁÄ»ÉÏÏÔʾ³öÀ´£¬·Ö±ðÔËÓÃÈçÏÂ3ÖÖ²ÎÊý´«µÝ·½·¨£¬²¢ÅäºÏ3¸öÖ÷³ÌÐòÑéÖ¤Ëü¡£
£¨1£©²ÉÓÃEAX¼Ä´æÆ÷´«µÝÕâ¸ö32λ¶þ½øÖÆÊý £¨2£©²ÉÓÃtemp±äÁ¿´«µÝÕâ¸ö32λ¶þ½øÖÆÊý £¨3£©²ÉÓöÑÕ»·½·¨´«µÝÕâ¸ö32λ¶þ½øÖÆÊý ¡²½â´ð¡³
£¨1£© ; Êý¾Ý¶Î wvar word 307281AFH ; ´úÂë¶Î£¬Ö÷³ÌÐò mov eax,wvar call disp mov al,'H' call dispc ; ´úÂë¶Î£¬×Ó³ÌÐò disp proc push ebx push ecx mov ecx,8 ; 8λ dhw1: rol eax,4 mov ebx,eax and al,0fh ; ת»»ÎªASCIIÂë add al,30h cmp al,'9' jbe dhw2 add al,7 dhw2: call dispc mov eax,ebx loop dhw1 pop ecx pop ebx ret disp endp
£¨2£© ; Êý¾Ý¶Î wvar word 307281AFH temp word ? ; ´úÂë¶Î£¬Ö÷³ÌÐò mov eax,wvar
£ £26
mov temp,eax call disp mov al,'H' call dispc ; ´úÂë¶Î£¬×Ó³ÌÐò disp proc push ebx push ecx mov ecx,8 ; 8λ mov eax,temp dhw1: rol eax,4 mov ebx,eax and al,0fh ; ת»»ÎªASCIIÂë add al,30h cmp al,'9' jbe dhw2 add al,7 dhw2: call dispc ; ÏÔʾһ¸ö×Ö·û mov eax,ebx loop dhw1 pop ecx pop ebx ret disp endp
£¨3£© ; Êý¾Ý¶Î wvar word 307281AFH ; ´úÂë¶Î£¬Ö÷³ÌÐò push wvar call disp add esp,4 mov al,'H' call dispc ; ´úÂë¶Î£¬×Ó³ÌÐò disp proc push ebp mov ebp,esp push ebx push ecx mov ecx,8 ; 8λ mov eax,[ebp+8] dhw1: rol eax,4 mov ebx,eax and al,0fh ; ת»»ÎªASCIIÂë add al,30h cmp al,'9' jbe dhw2 add al,7 dhw2: call dispc mov eax,ebx loop dhw1 pop ecx pop ebx pop ebp ret disp endp
¡²Ï°Ìâ4.27¡³ÅäºÏÀýÌâ4-11µÄ¼òµ¥¼ÓÃܽâÃܳÌÐò£¬Éè¼ÆÒ»¸öÊäÈëÃÜÂëµÄ³ÌÐò£¬½«ÊäÈëµÄÈô¸É×Ö·û¾¹ýÊʵ±Ëã·¨µÃµ½Ò»¸ö×Ö½ÚÁ¿ÃÜÂë¡£ ¡²½â´ð¡³ ;ex0427.asm
£ £27
include io32.inc .data key byte ? msg0 byte 'Enter your password:',0 passw byte 50 dup(0)
errormsg byte 'Password error, input again!',13,10,0 bufnum = 255
buffer byte bufnum+1 dup(0) ; ¶¨Òå¼üÅÌÊäÈëÐèÒªµÄ»º³åÇø msg1 byte 'Enter messge: ',0 msg2 byte 'Encrypted message: ',0 msg3 byte 'Original messge: ',0 .code start: mov eax,offset msg0 ; ÌáʾÊäÈë¼ÓÃÜÃÜÂë call dispmsg mov eax,offset passw ; ÉèÖÃÈë¿Ú²ÎÊýEAX call readmsg ; µ÷ÓÃÊäÈë×Ö·û´®×Ó³ÌÐòÊäÈëÃÜÂë mov ecx,eax dec ecx xor ebx,ebx mov al,passw[ebx] again0: inc ebx xor al,passw[ebx] ;ʹÓüòµ¥µÄÒì»ò·½·¨µÃµ½¼ÓÃܹؼü×Ö loop again0 mov key,al ; ±£´æ¼ÓÃܹؼü×Ö mov eax,offset msg1 ; ÌáʾÊäÈë×Ö·û´® call dispmsg mov eax,offset buffer ; ÉèÖÃÈë¿Ú²ÎÊýEAX call readmsg ; µ÷ÓÃÊäÈë×Ö·û´®×Ó³ÌÐò push eax ; ×Ö·û¸öÊý±£´æ½øÈë¶ÑÕ» mov ecx,eax ; ECX£½Êµ¼ÊÊäÈëµÄ×Ö·û¸öÊý£¬×÷Ϊѻ·µÄ´ÎÊý xor ebx,ebx ; EBXÖ¸ÏòÊäÈë×Ö·û encrypt: mov al,key ; AL£½¼ÓÃܹؼü×Ö xor buffer[ebx],al ; Òì»ò¼ÓÃÜ inc ebx dec ecx ; µÈͬÓÚÖ¸Áloop encrypt jnz encrypt ; ´¦ÀíÏÂÒ»¸ö×Ö·û mov eax,offset msg2 call dispmsg mov eax,offset buffer ; ÏÔʾ¼ÓÃܺóµÄÃÜÎÄ call dispmsg call dispcrlf ;
again: mov eax,offset msg0 ; ÌáʾÊäÈë½âÃÜÃÜÂë call dispmsg mov eax,offset passw ; ÉèÖÃÈë¿Ú²ÎÊýEAX call readmsg ; µ÷ÓÃÊäÈë×Ö·û´®×Ó³ÌÐòÊäÈëÃÜÂë mov ecx,eax dec ecx xor ebx,ebx mov al,passw[ebx] again1: inc ebx xor al,passw[ebx] ;ʹÓüòµ¥µÄÒì»ò·½·¨µÃµ½¼ÓÃܹؼü×Ö loop again1 cmp key,al ; ÓëÔ¼ÓÃܹؼü×Ö±È½Ï jz next ; ÃÜÂëÏàͬ£¬Ôò½øÐнâÃÜ mov eax,offset errormsg ; ÌáʾÊäÈë½âÃÜÃÜÂë´íÎó call dispmsg jmp again
£ £28
next: pop ecx ; ´Ó¶ÑÕ»µ¯³ö×Ö·û¸öÊý£¬×÷Ϊѻ·µÄ´ÎÊý xor ebx,ebx ; EBXÖ¸ÏòÊäÈë×Ö·û decrypt: mov al,key ; AL£½½âÃܹؼü×Ö xor buffer[ebx],al ; Òì»ò½âÃÜ inc ebx dec ecx jnz decrypt ; ´¦ÀíÏÂÒ»¸ö×Ö·û mov eax,offset msg3 call dispmsg mov eax,offset buffer ; ÏÔʾ½âÃܺóµÄÃ÷ÎÄ call dispmsg
¡²Ï°Ìâ4.28¡³Éè¼ÆÒ»¸ö¼òµ¥µÄÁ½¸öÕûÊýµÄ¼Ó·¨Æ÷³ÌÐò¡£
¡²½â´ð¡³ ;ex0428.asm include io32.inc .data msg1 byte 'Enter the integers:',13,10,0 msg2 byte 13,10,'Enter space to continue! Enter any other key to exit!',13,10,0 .code start: mov eax,offset msg1 call dispmsg call readsid mov ebx,eax mov al,'+' call dispc call dispcrlf call readsid add ebx,eax mov al,'=' call dispc mov eax,ebx call dispsid call dispcrlf mov eax,offset msg2 call dispmsg call readc cmp al,20h je start exit 0 end start
¡²Ï°Ìâ4.29¡³ÀûÓÃÊ®Áù½øÖÆ×Ö½ÚÏÔʾ×Ó³ÌÐòDISPHBÉè¼ÆÒ»¸ö´ÓµÍµØÖ·µ½¸ßµØÖ·Öð¸ö×Ö½ÚÏÔʾij¸öÖ÷´æÇøÓòÄÚÈݵÄ×Ó³ÌÐòDISPMEM¡£ÆäÈë¿Ú²ÎÊý£ºEAX£½Ö÷´æÆ«ÒƵØÖ·£¬ECX£½×Ö½Ú¸öÊý£¨Ö÷´æÇøÓòµÄ³¤¶È£©¡£Í¬Ê±±àдһ¸öÖ÷³ÌÐò½øÐÐÑéÖ¤¡£ ¡²½â´ð¡³
;ex0429.asm in Windows Console include io32.inc .data var byte 'This is a test!' .code start: ; Ö÷³ÌÐò mov eax,offset var mov ecx,sizeof var call dispmem
£ £29
dispmem
dispm1:
dispmem exit 0 ; ×Ó³ÌÐò proc push ebx mov ebx,eax mov al,[ebx] call disphb mov al,' ' call dispc inc ebx loop dispm1 pop ebx ret endp
end start
¡²Ï°Ìâ4.30¡³
½«ÀýÌâ4-19·Ö±ðʹÓÃ×Ó³ÌÐòÄ£¿é¡¢×Ó³ÌÐò¿âºÍ×Ó³ÌÐò¿â°üº¬·½·¨Éú³É×îÖÕ¿ÉÖ´ÐÐÎļþ¡£ ¡²Ï°Ìâ4. 31¡³
Çø±ðÈçϸÅÄºê¶¨Òå¡¢ºêµ÷ÓᢺêÖ¸Áî¡¢ºêÕ¹¿ª¡¢ºê»ã±à¡£
¡²½â´ð¡³
ºê¶¨Ò壺¾ÍÊÇ¶Ôºê½øÐÐ˵Ã÷£¬ÓÉÒ»¶Ôºê»ã±àαָÁîMACROºÍENDMÀ´Íê³É¡£ ºêµ÷Ó㺺궨ÒåÖ®ºóµÄʹÓá£ÔÚʹÓúêÖ¸ÁîµÄλÖÃдϺêÃû£¬ºó¸úʵÌå²ÎÊý¡£ ºêÖ¸ÁʹÓúêʱ£¬ÆäÐÎʽºÜÏñÖ¸ÁËùÒÔ³ÆÎªºêÖ¸Áî¡£ ºêÕ¹¿ª£ºÔÚ»ã±àʱ£¬»ã±à³ÌÐòÓöÔÓ¦µÄ´úÂëÐòÁÐÌæ´úºêÖ¸Áî¡£ ºê»ã±à£ºÖ¸Ê¹ÓúêµÄ·½·¨½øÐлã±àÓïÑÔ³ÌÐòÉè¼Æ¡£ ¡²Ï°Ìâ4. 32¡³
Ö±½ÓʹÓÿØÖÆÌ¨ÊäÈëºÍÊä³öº¯ÊýʵÏÖÀýÌâ4-21µÄ¹¦ÄÜ£¨²»Ê¹ÓÃREADMSGºÍDISPMSG×Ó³ÌÐò£©¡£ ¡²½â´ð¡³
¡²Ï°Ìâ4. 33¡³
Ö±½ÓʹÓÿØÖÆÌ¨Êä³öº¯ÊýʵÏÖij¸öÖ÷´æÇøÓòÄÚÈݵÄÏÔʾ£¨Ï°Ìâ4.29µÄ¹¦ÄÜ£©¡£¿ÉÒԸĽøÏÔʾÐÎʽ£¬ÀýÈçÿÐÐÏÔʾ16¸ö×Ö½Ú£¨128룩£¬Ã¿ÐпªÊ¼ÏÈÏÔʾÊ׸öÖ÷´æµ¥ÔªµÄÆ«ÒÆµØÖ·£¬È»ºóÓÃðºÅ·Ö¸ôÖ÷´æÄÚÈÝ¡£ ¡²½â´ð¡³
¡²Ï°Ìâ4. 34¡³
ÈçºÎ½øÐкܼòµ¥µÄÐ޸ģ¬Ê¹µÃÀýÌâ4-22³ÌÐòµÄÏûÏ¢´°ÓС°OK¡±ºÍ¡°Cancel¡±Á½¸ö°´Å¥¡£ ¡²½â´ð¡³
½«MB_OK³£Á¿¶¨ÒåΪ1£¬¼´£º MB_OK equ 1 ¡²Ï°Ìâ4. 35¡³
ÉÏ»úʵ¼ùÀýÌâ4-23ºÍÀýÌâ4-24£¬²¢ÔÚ´´½¨¿ÉÖ´ÐÐÎļþµÄ¹ý³ÌÖÐÉú³É»ã±àÓïÑÔÁбíÎļþ¡£ ¡²Ï°Ìâ4.36¡³
Pentium´¦ÀíÆ÷º¬ÓÐÒ»¸ö64λµÄʱ¼ä±ê¼Ç¼ÆÊýÆ÷£¨Time-Stamp Counter£©¡£¸Ã¼ÆÊýÆ÷ÿ¸öʱÖÓÖÜÆÚµÝÔö£¨¼Ó1£©£»ÔÚÉϵçºÍ¸´Î»ºó£¬¸Ã¼ÆÊýÆ÷Çå0¡£Ö¸Áî¡°RDTSC¡±Ö´Ðкó½«ÔÚEDX£¨¸ß32룩ºÍEAX£¨µÍ32룩·µ»Øµ±Ç°µÄ64λʱ¼ä±ê¼Ç¼ÆÊýÆ÷Öµ¡£ÀûÓÃRDTSCÖ¸ÁîÔÚij¸öº¯ÊýÔËÐÐǰ»ñµÃʱ¼ä±ê¼Ç¼ÆÊýÆ÷Öµ£¬È»ºóÔËÐиú¯Êýºó£¬Á¢¼´ÔÙ´ÎÖ´ÐÐRDTSCÖ¸Á²¢½«ÔٴλñµÃµÄʱ¼ä±ê¼Ç¼ÆÊýÆ÷ÖµÓë֮ǰµÄ¼ÆÊýÖµÏà¼õ£¬µÃµ½µÄ²îÖµ¾ÍÊÇÔËÐиú¯ÊýÐèÒªµÄʱÖÓÖÜÆÚÊý£¨³ËÒÔʱÖÓÖÜÆÚ£¬µÈÓÚÔËÐÐʱ¼ä£©¡£ÇëÀûÓûìºÏ±à³Ì·½·¨ÏÔʾij¸öº¯ÊýµÄÔËÐÐʱÖÓÖÜÆÚÊý¡£ ¡²½â´ð¡³
µÚ5Õ ΢»ú×ÜÏß ¡²Ï°Ìâ5.1¡³¼ò´ðÌâ
£¨1£©ÎªÊ²Ã´³Æ´¦ÀíÆ÷µÄÊý¾Ý×ÜÏßÊÇË«ÏòµÄ£¿
£¨2£©8086µÄµØÖ·ºÍÊý¾Ý×ÜÏßΪʲôҪ·Öʱ¸´Óã¿ £¨3£©¾ßÓÐÈý̬ÄÜÁ¦µÄÒý½ÅÊä³ö¸ß×èÒâζ×Åʲô£¿ £¨4£©×ÜÏßÖÜÆÚÖеĵȴý״̬ÊǸöʲô¹¤×÷״̬£¿ £¨5£©â§·¢´«ËÍÊÇÒ»ÖÖʲô´«ËÍ£¿
£ £30
£¨6£©×ÜÏßÊý¾Ý´«ÊäΪʲôҪ½øÐÐ×ÜÏßÖٲã¿ £¨7£©Ò첽ʱÐòΪʲô¿ÉÒÔûÓÐ×ÜÏßʱÖÓÐźţ¿
£¨8£©32λPC»úΪʲô²ÉÓö༶×ÜÏ߽ṹ£¬¶ø²»Êǵ¥×ÜÏ߽ṹ£¿ £¨9£©USB×ÜÏßÓм¸¸öµ¼Ïß×é³É£¿
£¨10£©Ê²Ã´ÊÇ΢ÈíÐû³ÆµÄ¼´²å¼´ÓÃPnP£¨Plug-and-Play£©¼¼Êõ£¿
¡²½â´ð¡³
¢Ù Êý¾Ý×ÜÏ߳е£×Å´¦ÀíÆ÷Óë´æ´¢Æ÷¡¢ÍâÉèÖ®¼äµÄÊý¾Ý½»»»£¬¼È¿ÉÒÔÊäÈëÒ²¿ÉÒÔÊä³ö£¬¹ÊÆäÊÇË«ÏòµÄ¡£
¢Ú Ϊ¼õÉÙÒý½Å¸öÊý£¬8086²ÉÓÃÁ˵ØÖ·×ÜÏߺÍÊý¾Ý×ÜÏß·Öʱ¸´Ó᣼´Êý¾Ý×ÜÏßÔÚ²»Í¬Ê±¿Ì»¹¾ßÓеØÖ·×ÜÏߵŦÄÜ¡£
¢Û ¾ßÓÐÈý̬ÄÜÁ¦µÄÒý½Åµ±Êä³ö³ÊÏÖ¸ß×è״̬ʱ£¬Ï൱ÓÚÁ¬½ÓÁËÒ»¸ö×迹ºÜ¸ßµÄÍⲿÆ÷¼þ£¬ÐźÅÎÞ·¨Õý³£Êä³ö£»¼´·ÅÆú¶Ô¸ÃÒý½ÅµÄ¿ØÖÆ£¬ÓëÆäËû²¿¼þ¶Ï¿ªÁ¬½Ó¡£
¢Ü ´¦ÀíÆ÷µÄÔËÐÐËÙ¶ÈÔ¶Ô¶¿ìÓÚ´æ´¢Æ÷ºÍI/O¶Ë¿Ú¡£´¦ÀíÆ÷¼ì²âµ½´æ´¢Æ÷»òI/O¶Ë¿Ú²»Äܰ´»ù±¾µÄ×ÜÏßÖÜÆÚ½øÐÐÊý¾Ý½»»»Ê±£¬²åÈëÒ»¸öµÈ´ý״̬Tw¡£µÈ´ý״̬ʵ¼ÊÉÏÊÇÒ»¸ö±£³Ö×ÜÏßÐźÅ״̬²»±äµÄʱÖÓÖÜÆÚ¡£
¢Ý â§·¢´«ËÍÊÇ´¦ÀíÆ÷Ö»ÌṩÊ×µØÖ·¡¢µ«¿ÉÒÔ´ÓºóÐøÁ¬ÐøµÄ´æ´¢µ¥ÔªÖжÁд¶à¸öÊý¾Ý¡£
¢Þ ×ÜÏßÉÏ¿ÉÄÜÁ¬½Ó¶à¸öÐèÒª¿ØÖÆ×ÜÏßµÄÖ÷É豸£¬ÐèҪȷ¶¨µ±Ç°ÐèÒª¿ØÖÆ×ÜÏßµÄÖ÷É豸£¬ËùÒÔÐèÒª×ÜÏßÖٲá£
¢ß Ò첽ʱÐòÊÇÓÉ×ÜÏßÎÕÊÖ£¨Handshake£©ÁªÂ磨Ӧ´ð£©ÐźſØÖÆ£¬²»ÊÇÓÉ×ÜÏßʱÖÓ¿ØÖÆ¡£¹Ê×ÜÏßʱÖÓÐźſÉÓпÉÎÞ¡£
¢à µ¥×ÜÏ߽ṹÏÞÖÆÁËÐí¶àÐèÒª¸ßËÙ´«ÊäËٶȵIJ¿¼þ¡£32λPC»ú²ÉÓöàÖÖ×ÜÏß²¢´æµÄϵͳ½á¹¹¡£¸÷ÖÖרÓþֲ¿×ÜÏßÔ´ÓÚ´¦ÀíÆ÷оƬ×ÜÏߣ¬ÒÔ½Ó½ü´¦ÀíÆ÷оƬÒý½ÅµÄËÙ¶È´«ÊäÊý¾Ý£¬ËüΪ¸ßËÙÍâÉèÌṩËٶȿ졢ÐÔÄܸߵĹ²ÓÃͨµÀ¡£
¢á 4¸ö¡£
¢â ¼´²å¼´Óü¼ÊõÊÇÖ¸32λPC»úµÄÖ÷°å¡¢²Ù×÷ϵͳºÍ×ÜÏßÉ豸ÅäºÏ£¬ÊµÏÖ×Ô¶¯ÅäÖù¦ÄÜ¡£ ¡²Ï°Ìâ5.2¡³ÅжÏÌâ
£¨1£©µÍµçƽÓÐЧÊÇÖ¸ÐźÅΪµÍµçƽʱºò±íʾÐźŵŦÄÜ¡£
£¨2£©´¦ÀíÆ÷¶ÁÈ¡´æ´¢Æ÷²Ù×÷ÊýʱºÍ¶ÁÈ¡´úÂëʱ£¬¶¼·¢Éú´æ´¢Æ÷¶ÁµÄ×ÜÏß²Ù×÷¡£
£¨3£©8086×¼±¸ºÃREADYÒý½ÅÊä³ö¸ø´æ´¢Æ÷»òÍâÉèÓÐЧÐźţ¬±íÃ÷´¦ÀíÆ÷×¼±¸ºÃ½»»»Êý¾ÝÁË¡£ £¨4£©8086×ÜÏßÖÜÆÚµÄT1״̬·¢³öµØÖ·£¬ÊôÓÚ×ÜÏß²Ù×÷µÄѰַ½×¶Î¡£
£¨5£©´æ´¢Æ÷µ¥ÔªÒÔÒ»¸ö×Ö½ÚΪ»ù±¾µ¥Ôª£¬ËùÒÔPentium¶ÔӦÿ8¸öÊý¾Ý×ÜÏßÒý½ÅÓÐÒ»¸öÆæÅ¼Ð£ÑéÐźš£ £¨6£©PCI×ÜÏߺÍUSB½Ó¿Ú¶¼Ö§³ÖÈȲå°Î¡£
£¨7£©ISA×ÜÏß½öÖ§³Ö8λºÍ16λÊý¾Ý´«Ê䣬PCI×ÜÏß»¹Ö§³Ö32λºÍ64λÊý¾Ý´«Êä¡£ £¨8£©PCI×ÜÏß¶ÀÁ¢ÓÚ´¦ÀíÆ÷£¬ËùÒÔÆäÒý½ÅÐźŶàÊý²¢²»ÓëIA-32´¦ÀíÆ÷¶ÔÓ¦¡£ £¨9£©USB×ÜÏ߽ṹÖÐÖ÷»ú°üº¬Óиù¼¯Ï߯÷¡£
£¨10£©Ö§³ÖUSB 2.0°æ±¾µÄUSBÉ豸һ¶¨Äܹ»ÒÔ¸ßËÙ£¨480Mb/s£©´«ÊäÊý¾Ý¡£ ¡²½â´ð¡³
¢Ù ¶Ô ¢Þ ´í
¢Ú ¶Ô ¢ß ¶Ô
¢Û ´í ¢à ¶Ô
¢Ü ¶Ô ¢á ¶Ô
¢Ý ¶Ô ¢â ´í
¡²Ï°Ìâ5.3¡³Ìî¿ÕÌâ
£¨1£©Ä³¸ö´¦ÀíÆ÷¾ßÓÐ16¸öµØÖ·×ÜÏߣ¬Í¨³£¿ÉÒÔÓÃA__________±í´ï×îµÍλµØÖ·Ðźţ¬ÓÃA15±í´ï×î¸ßµØÖ·Ðźš£
£¨2£©8086ÓÐ3¸ö×î»ù±¾µÄ¶Áд¿ØÖÆÐźţ¬ËüÃÇÊÇM/IO£¬__________ºÍ__________¡£
£¨3£©8086ԤȡָÁîʱ£¬ÔÚÆäÒý½ÅÉϽ«²úÉú__________×ÜÏß²Ù×÷£»Ö´ÐÐÖ¸Áî¡°MOV AX, [BX]¡±Ê±£¬ÔÚÆäÒý½ÅÉϽ«²úÉú__________×ÜÏß²Ù×÷£»Ö´ÐÐÖ¸Áî¡°MOV [BX], AX¡±Ê±£¬ÔÚÆäÒý½ÅÉϽ«²úÉú__________×ÜÏß²Ù×÷¡£
£¨4£©8086Î޵ȴýµÄ×ÜÏßÖÜÆÚÓÉ__________¸öT״̬×é³É£¬PentiumÎ޵ȴýµÄ×ÜÏßÖÜÆÚÓÉ__________¸öT״̬×é³É¡£Èç¹û´¦ÀíÆ÷µÄʱÖÓÆµÂÊΪ100MHz£¬Ôòÿ¸öT״̬µÄ³ÖÐøÊ±¼äΪ__________¡£
£¨5£©8086´¦ÀíÆ÷½øÐÐI/O¶Á²Ù×÷ʱ£¬ÆäÒý½ÅM/IOΪµÍ£¬Òý½ÅRDΪ__________£»ISA×ÜÏßµÄ__________Òý½ÅµÍÓÐЧ˵Ã÷½øÐÐI/O¶Á²Ù×÷¡£PCI×ÜÏßÓÃC/BE[3::0]#Òý½Å±àÂëΪ__________±íʾI/O¶Á×ÜÏßÖÜÆÚ¡£
£¨6£©Õ¼ÓÃ×ÜÏß½øÐÐÊý¾Ý´«Ê䣬һ°ãÐèÒª¾¹ý×ÜÏßÇëÇóºÍÖٲá¢__________¡¢__________ºÍ½áÊø4¸ö½×¶Î¡£
£¨7£©USB×ÜÏßÀíÂÛÉÏ×î¶àÄܹ»Á¬½Ó__________¸öUSBÉ豸£¬USB 2.0Ö§³ÖµÍËÙ__________¡¢È«ËÙ__________ºÍ¸ßËÙ480Mb/sÈýÖÖËÙÂÊ¡£
£¨8£©PCI×ÜÏß¹²ÓÃÊý¾ÝºÍµØÖ·Ðźţ¬ËùÒÔÊý¾Ý´«ÊäÐèÒªÁ½¸ö½×¶Î£ºµÚÒ»¸ö½×¶Î£¨Ò»¸öʱÖÓ£©Ìṩ__________£¨µØÖ·£¬Êý¾Ý£©£¬µÚ¶þ¸ö½×¶Î£¨×îÉÙÒ»¸öʱÖÓ£©½»»»__________£¨µØÖ·£¬Êý¾Ý£©¡£
£¨9£©PentiumµÄ3¸ö×î»ù±¾µÄ¶Áд¿ØÖÆÒý½ÅÊÇM/IO£¬__________ºÍ__________¡£ £¨10£©ÓÃÓÚÒªÇó´¦ÀíÆ÷²åÈëµÈ´ý״̬µÄÐźÅÔÚ8086ÉÏÊÇÒý½ÅREADY£¬ÔÚPentiumÉÏÊÇ__________Òý½Å£¬¶ÔÓ¦ISA×ÜÏßÊÇ__________Ðźš£ ¡²½â´ð¡³
¢Ù 0
¢Ú ¶ÁRD£¬Ð´WR
¢Û ´æ´¢Æ÷¶Á£¬´æ´¢Æ÷¶Á£¬´æ´¢Æ÷д ¢Ü 4£¬2£¬10ns
¢Ý µÍÓÐЧ£¬IOR£¬0010 ¢Þ Ѱַ£¬Êý¾Ý´«ËÍ
¢ß 127£¬1.5Mb/s£¬12Mb/s ¢à µØÖ·£¬Êý¾Ý
£ £31
¢á D/C£¬W/R ¢â BRDY£¬I/O CH RDY ¡²Ï°Ìâ5.4¡³
´¦ÀíÆ÷ÓÐÄÄ4ÖÖ×î»ù±¾µÄ×ÜÏß²Ù×÷£¨ÖÜÆÚ£©£¿ ¡²½â´ð¡³
´æ´¢Æ÷¶Á¡¢´æ´¢Æ÷д£¬I/O¶Á¡¢I/Oд¡£
¡²Ï°Ìâ5.5¡³8086´¦ÀíÆ÷µÄÊäÈë¿ØÖÆÐźÅÓÐRESET£¬HOLD£¬NMIºÍINTR£¬Æäº¬Òå¸÷ÊÇʲô£¿µ±ËüÃÇÓÐЧʱ£¬8086 CPU½«³öÏÖºÎÖÖ·´Ó¦£¿
¡²½â´ð¡³
RESET£º¸´Î»ÊäÈëÐźţ¬¸ßµçƽÓÐЧ¡£¸ÃÒý½ÅÓÐЧʱ£¬½«ÆÈʹ´¦ÀíÆ÷»Øµ½Æä³õʼ״̬£»×ªÎªÎÞЧʱ£¬CPUÖØÐ¿ªÊ¼¹¤×÷¡£
HOLD£º×ÜÏßÇëÇó£¬ÊÇÒ»¸ö¸ßµçƽÓÐЧµÄÊäÈëÐźš£¸ÃÒý½ÅÓÐЧʱ£¬±íʾÆäËû×ÜÏßÖ÷¿ØÉ豸Ïò´¦ÀíÆ÷ÉêÇëʹÓÃÔÀ´ÓÉ´¦ÀíÆ÷¿ØÖƵÄ×ÜÏß¡£
NMI£º²»¿ÉÆÁ±ÎÖжÏÇëÇó£¬ÊÇÒ»¸öÀûÓÃÉÏÉýÑØÓÐЧµÄÊäÈëÐźš£¸ÃÒý½ÅÐźÅÓÐЧʱ£¬±íʾÍâ½çÏòCPUÉêÇë²»¿ÉÆÁ±ÎÖжϡ£ INTR£º¿ÉÆÁ±ÎÖжÏÇëÇó£¬ÊÇÒ»¸ö¸ßµçƽÓÐЧµÄÊäÈëÐźš£¸ÃÒý½ÅÐźÅÓÐЧʱ£¬±íʾÖжÏÇëÇóÉ豸Ïò´¦ÀíÆ÷ÉêÇë¿ÉÆÁ±ÎÖжϡ£
¡²Ï°Ìâ5.6¡³Çø±ð¸ÅÄָÁîÖÜÆÚ¡¢×ÜÏßÖÜÆÚ£¨»úÆ÷ÖÜÆÚ£©¡¢Ê±ÖÓÖÜÆÚ¡¢T״̬¡£
¡²½â´ð¡³
Ö¸ÁîÖÜÆÚ£ºÒ»ÌõÖ¸Áî´Óȡָ¡¢ÒëÂëµ½×îÖÕÖ´ÐÐÍê³ÉµÄ¹ý³Ì¡£ ×ÜÏßÖÜÆÚ£¨»úÆ÷ÖÜÆÚ£©£ºÓÐÊý¾Ý½»»»µÄ×ÜÏß²Ù×÷¡£
ʱÖÓÖÜÆÚ£º´¦ÀíÆ÷µÄ»ù±¾¹¤×÷½ÚÅÄ£¬ÓÉʱÖÓÐźŲúÉú£¬Ò»¸ö¸ßµçƽºÍÒ»¸öµÍµçƽΪһ¸öÖÜÆÚ¡£
T״̬£ºÍê³ÉÌØ¶¨²Ù×÷µÄÒ»¸öʱÖÓÖÜÆÚ¡£ÓÉÓÚʱ¼äÉÏÒ»¸öT״̬µÈÓÚÒ»¸öʱÖÓÖÜÆÚ£¬ËùÒÔ³£³£½«Á½Õß»ìΪһ̸¡£
¡²Ï°Ìâ5.7¡³×ܽá8086¸÷¸öT״̬µÄÖ÷Òª¹¦ÄÜ¡£
¡²½â´ð¡³
T1״̬£º×ÜÏßÖÜÆÚµÄµÚÒ»¸öʱÖÓÖÜÆÚÖ÷ÒªÓÃÓÚÊä³ö´æ´¢Æ÷µØÖ·»òI/OµØÖ·£» T2״̬£ºÊä³ö¶Á/д¿ØÖÆÐźš£
T3״̬£ºËø´æµØÖ·¡¢´¦ÀíÆ÷ÌṩµÄ¿ØÖÆÐźźÍÊý¾ÝÔÚ×ÜÏßÉϼÌÐøÎ¬³ÖÓÐЧ£¬ÇÒT3ʱÖÓµÄÇ°ÑØ£¨Ï½µÑØ£©¶ÔREADYÒý½Å½øÐмì²â¡£READYÐźÅÓÐЧ£¬½øÈëT4ÖÜÆÚ¡£
T4״̬£º×ÜÏßÖÜÆÚµÄ×îºóÒ»¸öʱÖÓÖÜÆÚ£¬´¦ÀíÆ÷ºÍ´æ´¢Æ÷»òI/O¶Ë¿Ú¼ÌÐø½øÐÐÊý¾Ý´«ËÍ£¬Ö±µ½Íê³É£¬²¢ÎªÏÂÒ»¸ö×ÜÏßÖÜÆÚ×öºÃ×¼±¸¡£
Tw״̬£ºµÈ´ý״̬¡£´¦ÀíÆ÷ÔÚT3Ç°ÑØ·¢ÏÖREADYÐźÅÎÞЧºó£¬²åÈëTw¡£Tw״̬µÄÒý½ÅÐźÅÑÓÐøT3ʱµÄ״̬¡¢Î¬³Ö²»±ä¡£
¡²Ï°Ìâ5.8¡³Çë½âÊÍ8086£¨×îС×é̬£©ÒÔÏÂÒý½ÅÐźŵĺ¬Ò壺CLK£¬A19/S6¡«A16/S3£¬AD15¡«AD0£¬ALE£¬M/IO£¬RDºÍWR¡£Ä¬»ËüÃÇÔÚ¾ßÓÐÒ»¸öµÈ´ý״̬µÄ´æ´¢Æ÷¶Á×ÜÏßÖÜÆÚÖеIJ¨ÐÎʾÒâ¡£
¡²½â´ð¡³
CLK£ºÊ±ÖÓÊäÈ롣ʱÖÓÐźÅÊÇÒ»¸öƵÂÊÎȶ¨µÄÊý×ÖÐźţ¬ÆäƵÂʾÍÊÇ´¦ÀíÆ÷µÄ¹¤×÷ƵÂÊ£¬¹¤×÷ƵÂʵĵ¹Êý¾ÍÊÇʱÖÓÖÜÆÚµÄʱ¼ä³¤¶È¡£
A19/S6¡«A16/S3£ºµØÖ·/״̬·Öʱ¸´ÓÃÒý½Å£¬ÊÇÒ»×é4¸ö¾ßÓÐÈý̬ÄÜÁ¦µÄÊä³öÐźš£ÕâЩÒý½ÅÔÚ·ÃÎÊ´æ´¢Æ÷µÄµÚÒ»¸öʱÖÓÖÜÆÚÊä³ö¸ß4λµØÖ·A19¡«A16£¬ÔÚ·ÃÎÊÍâÉèµÄµÚÒ»¸öʱÖÓÖÜÆÚÊä³öµÍµçƽÎÞЧ£»ÆäËûʱ¼äÊä³ö״̬ÐźÅS6¡«S3¡£
AD15¡«AD0£ºµØÖ·/Êý¾Ý·Öʱ¸´ÓÃÒý½Å£¬¹²16¸öÒý½Å£¬ÓÃ×÷µØÖ·×ÜÏßʱÊǵ¥ÏòÊä³öÐźţ»ÓÃ×÷Êý¾Ý×ÜÏßʱÊÇË«ÏòÐźţ¬¾ßÓÐÈý̬Êä³öÄÜÁ¦¡£
ALE£ºµØÖ·Ëø´æÔÊÐí£¬ÊÇÒ»¸öÈý̬¡¢Êä³ö¡¢¸ßµçƽÓÐЧµÄÐźš£ÓÐЧʱ£¬±íʾ¸´ÓÃÒý½Å£¨AD15¡«AD0ºÍA19/S6¡«A16/S3£©ÉÏÕýÔÚ´«Ë͵ØÖ·Ðźš£
M/IO£º·ÃÎÊ´æ´¢Æ÷»òÕßI/O£¬ÊÇÒ»¸öÈý̬Êä³öÐźţ¬¸ÃÒý½Å¸ßµçƽʱ£¬±íʾ´¦ÀíÆ÷½«·ÃÎÊ´æ´¢Æ÷£¬´ËʱµØÖ·×ÜÏßA19¡«A0Ìṩ20λµÄ´æ´¢Æ÷ÎïÀíµØÖ·¡£¸ÃÒý½ÅµÍµçƽʱ£¬±íʾ´¦ÀíÆ÷½«·ÃÎÊI/O¶Ë¿Ú£¬´ËʱµØÖ·×ÜÏßA15¡«A0Ìṩ16λµÄI/OµØÖ·¡£
RD£º¶Á¿ØÖÆ£¬Ò²ÊÇÒ»¸öÈý̬¡¢Êä³öµÍµçƽÓÐЧÐźš£ÓÐЧʱ£¬±íʾ´¦ÀíÆ÷ÕýÔÚ´Ó´æ´¢µ¥Ôª»òI/O¶Ë¿Ú¶ÁÈ¡Êý¾Ý¡£ WR£ºÐ´¿ØÖÆ£¬ÊÇÒ»¸öÈý̬¡¢Êä³öµÍµçƽÓÐЧÐźš£ÓÐЧʱ£¬±íʾ´¦ÀíÆ÷Õý½«Êý¾Ýдµ½´æ´¢µ¥Ôª»òI/O¶Ë¿Ú¡£
£ £32
¡²Ï°Ìâ5.9¡³
T1 CLK M/IOBHET2 T3 Tw T4 /S7, A19/S6¡«A16/S3
AD15¡«AD0 BHEA19~A0 ¸ß×è S7¡«S0 ¸ß×è Çø±ðÈçÏÂ×ÜÏ߸ÅÄоƬ×ÜÏß¡¢¾Ö²¿×ÜÏß¡¢ÏµÍ³×ÜÏߣ»²¢ÐÐ×ÜÏß¡¢´®ÐÐ×ÜÏߣ»µØÖ·×ÜÏß¡¢Êý¾Ý×ÜÏß¡¢¿ØÖÆ×ÜÏߣ»ISA×ÜÏß¡¢PCI×ÜÏß¡£
¡²½â´ð¡³
оƬ×ÜÏߣºÊÇÖ¸´ó¹æÄ£¼¯³Éµç·оƬÄÚ²¿£¬»òϵͳÖи÷ÖÖ²»Í¬Æ÷¼þÁ¬½ÓÔÚÒ»ÆðµÄ×ÜÏߣ»ÓÃÓÚоƬ¼¶»¥Á¬¡£
¾Ö²¿×ÜÏߣºÎ»ÓÚ´¦ÀíÆ÷¸½¼þµÄÆ÷¼þÏ໥Á¬½ÓµÄ×ÜÏߣ¬Ïà¶ÔÓÚоƬ×ÜÏß¡£
ϵͳ×ÜÏߣºÍ¨³£ÊÇÖ¸
A15¡«A0 ÊäÈëÊý¾Ý ALE RD READY
ͼ6-1 ¾ßÓÐÒ»¸öTwµÄ´æ´¢Æ÷¶Á×ÜÏßÖÜÆÚʱÐò
΢»úϵͳµÄÖ÷Òª×ÜÏß¡£
²¢ÐÐ×ÜÏߣº²ÉÓò¢Ðд«Ê䷽ʽµÄ×ÜÏß¡£
´®ÐÐ×ÜÏߣº½«¶àλÊý¾Ý°´¶þ½øÖÆÎ»µÄ˳ÐòÔÚÊý¾ÝÏßÉÏÖðλ´«Ë͵Ä×ÜÏß¡£ µØÖ·×ÜÏߣºÊµÏÖµØÖ·ÐÅÏ¢»¥Á¬ºÍ½»»»µÄÒ»×éµ¼Ïß¡£ Êý¾Ý×ÜÏߣºÊµÏÖÊý¾ÝÐÅÏ¢»¥Á¬ºÍ½»»»µÄÒ»×éµ¼Ïß¡£
¿ØÖÆ×ÜÏߣº¿ØÖÆÐµ÷´¦ÀíÆ÷ºÍÄÚ´æ¡¢ÍâÉè½»»¥ÐÅÏ¢µÄÒ»×éµ¼Ïß¡£
ISA×ÜÏߣº¼´IBM PC/AT×ÜÏߣ¬ÒÔ´¦ÀíÆ÷80286Òý½ÅÐγɵÄ×ÜÏߣ¬·Ö³ÉÖ§³Ö8λ²Ù×÷µÄǰ62ÐźźÍÀ©Õ¹16λ²Ù×÷µÄºó36Ðźš£ PCI×ÜÏߣºÍâÉ貿¼þ»¥Á¬×ÜÏߣ¬²»½öÊÊÓÃÓÚIA-32´¦ÀíÆ÷£¬Ò²ÊÊÓÃÆäËü´¦ÀíÆ÷£¬Ö§³Ö32λºÍ64λ²Ù×÷£¬¹ã·ºÓÃÓÚ32λͨÓÃ΢ÐͼÆËã»úÖС£
¡²Ï°Ìâ5.10¡³Ê²Ã´ÊÇͬ²½Ê±Ðò¡¢°ëͬ²½Ê±ÐòºÍÒ첽ʱÐò£¿
¡²½â´ð¡³
ͬ²½Ê±Ðò£º×ÜÏß²Ù×÷µÄ¸÷¸ö¹ý³ÌÓɹ²ÓõÄ×ÜÏßʱÖÓÐźſØÖÆ¡£
°ëͬ²½Ê±Ðò£º×ÜÏß²Ù×÷ÈÔÓɹ²ÓõÄ×ÜÏßʱÖÓÐźſØÖÆ£¬µ«ÂýËÙÄ£¿é¿ÉÒÔͨ¹ýµÈ´ýÐźÅÈÿìËÙÄ£¿éµÈ´ý¡£ Ò첽ʱÐò£º×ÜÏß²Ù×÷ÐèÒªÎÕÊÖ£¨Handshake£©ÁªÂ磨Ӧ´ð£©ÐźſØÖÆ£¬×ÜÏßʱÖÓÐźſÉÓпÉÎÞ¡£
¡²Ï°Ìâ5.11¡³EISA×ÜÏßµÄʱÖÓÆµÂÊÊÇ8MHz£¬Ã¿2¸öʱÖÓ¿ÉÒÔ´«ËÍÒ»¸ö32λÊý¾Ý£¬¼ÆËãÆä×ÜÏß´ø¿í¡£ ¡²½â´ð¡³
£¨32¡Á8£©¡Â£¨2¡Á8£©£½16MBps ¡²Ï°Ìâ5.12¡³
PCI×ÜÏßÓÐÊ²Ã´ÌØµã£¿
¡²½â´ð¡³
PCI×ÜÏßÓë´¦ÀíÆ÷Î޹أ¬¾ßÓÐ32λºÍ64λÊý¾Ý×ÜÏߣ¬ÓУ«5VºÍ£«3.3VÁ½ÖÖÉè¼Æ£¬²ÉÓü¯ÖÐʽ×ÜÏßÖٲá¢Ö§³Ö¶à´¦ÀíÆ÷ϵͳ£¬Í¨¹ýÇÅ£¨Bridge£©µç·¼æÈÝISA/EISA×ÜÏߣ¬¾ßÓм´²å¼´ÓõÄ×Ô¶¯ÅäÖÃÄÜÁ¦µÈһϵÁÐÓÅÊÆ¡£ ¡²Ï°Ìâ5.13¡³
PCI×ÜÏß²Ù×÷ÈçºÎ²åÈëµÈ´ý״̬£¿
¡²½â´ð¡³
Ö÷É豸ÀûÓÃIRDY#ÐźÅÎÞЧ¡¢´ÓÉ豸ÀûÓÃTRDY#ÐźÅÎÞЧҪÇó¶Ô·½µÈ´ý£¬¼´²åÈëµÈ´ý״̬¡£ ¡²Ï°Ìâ5.14¡³
ʲôÊÇUSB×ÜÏßÖ§³ÖµÄ¡°ÈȲå°Î¡±£¬Õâ¸öÌØÐÔÓÐʲôÒâÒ壿
¡²½â´ð¡³
¡°ÈȲå°Î¡±ÊÇÔÚPC»úÕý³£¹¤×÷״̬½øÐвåÈë»ò°Î³ö¡£Õâ¸öÌØÐÔ¿ÉÒÔʹÓû§ËæÊ±Á¬½ÓUSBÉ豸¡£ ¡²Ï°Ìâ5.15¡³
¼òÊöUSB×ÜÏßµÄÖ÷ÒªÌØÕ÷£¿ ¡²½â´ð¡³
ʹÓ÷½±ã¡¢À©³äÄÜÁ¦Ç¿¡£
Ö§³Ö¶àÖÖ´«ÊäËÙ¶È¡¢ÊÊÓÃÃæ¹ã¡£ µÍ¹¦ºÄ¡¢µÍ³É±¾¡¢Õ¼ÓÃϵͳ×ÊÔ´ÉÙ¡£ ¡²Ï°Ìâ5.16¡³
£ £33
USB×ÜÏߵļ¯Ï߯÷ÓÐʲô×÷Óã¿Ö÷»úÉÏÊÇ·ñÐèÒª¼¯Ï߯÷£¿ ¡²½â´ð¡³
¼¯Ï߯÷ÊÇרÃÅÓÃÓÚÌṩ¶îÍâUSB½ÓÈëµãµÄUSBÉ豸¡£ Ö÷»úÐèÒª¼¯Ï߯÷£¬±»³ÆÎª¸ù¼¯Ï߯÷¡£
¡²Ï°Ìâ5.17¡³USB×ÜÏßÐÒéÖ§³ÖÄļ¸ÖÖÊý¾Ý´«Ê䷽ʽ£¿¼òÊöÖ®¡£
¡²½â´ð¡³
USBµÄÊý¾Ý´«ÊäÓÐ4ÖÖ£º
¿ØÖÆ´«Ê䡪¡ªÔÚUSBÉ豸³õ´Î°²×°Ê±£¬USBϵͳÈí¼þʹÓÿØÖÆ´«Ê䷽ʽÉèÖÃUSBÉ豸²ÎÊý¡¢·¢ËÍ¿ØÖÆÖ¸Áî¡¢²éѯ״̬µÈ¡£ ÅúÁ¿´«Ê䡪¡ª¶ÔÓÚ´òÓ¡»ú¡¢É¨ÃèÒǵÈÉ豸ÐèÒª´«Êä´óÁ¿Êý¾Ý£¬¿ÉÒÔʹÓÃÅúÁ¿´«Ê䷽ʽÁ¬Ðø´«ÊäÒ»ÅúÊý¾Ý¡£ Öжϴ«Ê䡪¡ª¸Ã·½Ê½´«ÊäµÄÊý¾ÝÁ¿ºÜС£¬µ«ÐèÒª¼°Ê±´¦Àí£¬ÒÔ±£Ö¤ÊµÊ±ÐÔ£¬Ö÷ÒªÓÃÓÚ¼üÅÌ¡¢Êó±êµÈÉ豸ÉÏ¡£
ͬ²½´«Ê䡪¡ª¸Ã·½Ê½ÒÔÎȶ¨µÄËÙÂÊ·¢ËͺͽÓÊÕÐÅÏ¢£¬±£Ö¤Êý¾ÝµÄÁ¬ÐøºÍ¼°Ê±£¬ÓÃÓÚÊý¾Ý´«ÊäÕýÈ·ÐÔÒªÇ󲻸߶ø¶ÔʵʱÐÔÒªÇó¸ßµÄÍâÉ裬ÀýÈçÂó¿Ë·ç¡¢À®°È¡¢µç»°µÈ¡£
µÚ6Õ ´æ´¢ÏµÍ³ ¡²Ï°Ìâ6.1¡³¼ò´ðÌâ
£¨1£©´æ´¢ÏµÍ³ÎªÊ²Ã´²»ÄܲÉÓÃÒ»ÖÖ´æ´¢Æ÷¼þ¹¹³É£¿ £¨2£©Ê²Ã´ÊǸßËÙÃüÖк͸ßËÙȱʧ£¨Î´ÃüÖУ©£¿
£¨3£©¸ßËÙ»º´æCacheϵͳµÄ±êÇ©´æ´¢Æ÷ÓÐʲô×÷Óã¿ £¨4£©Ê²Ã´ÊÇCacheµÄµØÖ·Ó³É䣿
£¨5£©CacheµÄдÈë²ßÂÔÓÃÓÚ½â¾öʲôÎÊÌ⣿
£¨6£©´æ´¢Æ÷µÄ´æÈ¡Ê±¼äºÍ´æÈ¡ÖÜÆÚÓÐÊ²Ã´Çø±ð£¿ £¨7£©ÐéÄâ´æ´¢Æ÷ÊÇʲô´æ´¢Æ÷£¿
£¨8£©DRAMоƬÔõôÓÐÐеØÖ·ÓÖÓÐÁеØÖ·£¿ £¨9£©µØÖ·Öظ´ÊÇÔõô»ØÊ£¿
£¨10£©Ò³±íÏîµÄP£¨D0£©Î»ÓÐʲô×÷Óã¿
¡²½â´ð¡³
¢Ù ÒòΪ¸÷ÖÖ´æ´¢Æ÷¼þÔÚÈÝÁ¿¡¢ËٶȺͼ۸ñ·½Ãæ´æÔÚì¶Ü¡£Ëٶȿ죬Ôòµ¥Î»¼Û¸ñ¸ß£»ÈÝÁ¿´ó£¬µ¥Î»¼Û¸ñµÍ£¬µ«´æÈ¡ËÙ¶ÈÂý¡£¹Ê´æ´¢ÏµÍ³²»ÄܲÉÓÃÒ»ÖÖ´æ´¢Æ÷¼þ¡£
¢Ú CacheÖи´ÖÆ×ÅÖ÷´æµÄ²¿·ÖÄÚÈÝ¡£µ±´¦ÀíÆ÷ÊÔͼ¶ÁÈ¡Ö÷´æµÄij¸ö×Öʱ£¬Cache¿ØÖÆÆ÷Ê×Ïȼì²éCacheÖÐÊÇ·ñÒѰüº¬ÓÐÕâ¸ö×Ö¡£ÈôÓУ¬Ôò´¦ÀíÆ÷Ö±½Ó¶ÁÈ¡Cache£¬ÕâÖÖÇé¿ö³ÆÎª¸ßËÙÃüÖУ»ÈôÎÞ£¬Ôò³ÆÎª¸ßËÙȱʧ¡£
¢Û ±êÇ©´æ´¢Æ÷±£´æ×ŸÃÊý¾ÝËùÔÚÖ÷´æµÄµØÖ·ÐÅÏ¢¡£
¢Ü Ö÷´æ¿éÓëCacheÐÐÖ®¼äµÄ¶ÔÓ¦¹ØÏµ³Æ¡°µØÖ·Ó³É䡱£¬ Cacheͨ¹ýµØÖ·Ó³ÉäÈ·¶¨Ò»¸öÖ÷´æ¿éÓ¦·Åµ½ÄĸöCacheÐÐ×éÖС£ ¢Ý дÈë²ßÂÔÓÃÓÚ½â¾öдÈëCacheʱÒýÆðÖ÷´æºÍCacheÄÚÈݲ»Ò»ÖÂÐÔµÄÎÊÌâ¡£
¢Þ ´æÈ¡Ê±¼äÊÇÖ¸´Ó¶Á/дÃüÁî·¢³ö£¬µ½Êý¾Ý´«Êä²Ù×÷Íê³ÉËù¾ÀúµÄʱ¼ä£»´æÈ¡ÖÜÆÚ±íʾÁ½´Î´æ´¢Æ÷·ÃÎÊËùÔÊÐíµÄ×îСʱ¼ä¼ä¸ô¡£´æÈ¡ÖÜÆÚ´óÓÚµÈÓÚ´æÈ¡Ê±¼ä¡£
¢ß ÐéÄâ´æ´¢Æ÷ÊÇÓɲÙ×÷ϵͳÀûÓø¨Öú´æ´¢Æ÷¡¢ÒÔ´ÅÅÌÎļþÐÎʽ½¨Á¢µÄ¡¢ÔÚÖ÷´æ´¢Æ÷Ó븨Öú´æ´¢Æ÷Ö®¼äµÄÒ»¸ö´æ´¢Æ÷¡£
¢à DRAMоƬÈÝÁ¿´ó¡¢Ð¾Æ¬Ð¡£¬¸ß¼¯³É¶È£¬Òý½ÅÊýÁ¿ÉÙ¡£¹ÊDRAMоƬ½«µØÖ·Òý½Å·Öʱ¸´Ó㬼´ÓÃÒ»×鵨ַÒý½Å´«ËÍÁ½ÅúµØÖ·¡£µÚÒ»ÅúµØÖ·³ÆÐеØÖ·£¬µÚ¶þÅúµØÖ·³ÆÁеØÖ·¡£
¢á ÒëÂëµç·ÖÐÖ»Óв¿·ÖµØÖ·Ïß²ÎÓëÒëÂë»áÔì³ÉµØÖ·Öظ´£¬Ò²¾ÍÊÇÒ»¸ö´æ´¢µ¥ÔªÕ¼Óжà¸ö´æ´¢Æ÷µØÖ·¡£ ¢âÒ³±íÏîµÄPλ³ÆÎª´æÔÚ루Present£©£¬±íʾ¸ÃÒ³ÃæÊÇ·ñÔÚÎïÀí´æ´¢Æ÷ÖС£ ¡²Ï°Ìâ6.2¡³ÅжÏÌâ
£¨1£©´æ´¢ÏµÍ³µÄ¸ßËÙ»º´æÐèÒª²Ù×÷ϵͳµÄÅäºÏ²ÅÄÜÌá¸ßÖ÷´æ·ÃÎÊËÙ¶È¡£
£¨2£©Ö¸Áî·ÃÎʵIJÙ×÷Êý¿ÉÄÜÊÇ8£¬16»ò32룬µ«Ö÷´æÓëCache¼äÈ´ÒÔÊý¾Ý¿éΪµ¥Î»´«Êä¡£
£¨3£©ÎªÁ˼ӿì¶ÎÃèÊö·ûºÍÒ³±íÏîµÄ·ÃÎÊËÙ¶È£¬IA-32´¦ÀíÆ÷ÄÚ²¿·Ö±ðÉèÖÃÁ˶ÎÃèÊö·û¸ßËÙ»º³åÆ÷ºÍת»»ºó±¸»º³åÆ÷¡£ËüÃǵĻù±¾¹¤×÷ÔÀíÀàËÆÖ÷´æµÄ¸ßËÙ»º´æ¡£
£¨4£©´æ´¢Æ÷оƬµÄ¼¯³É¶È¸ß±íʾµ¥Î»Ð¾Æ¬Ãæ»ýÖÆ×÷µÄ´æ´¢µ¥ÔªÊý¶à¡£ £¨5£©Î¢»ú´óÈÝÁ¿Ö÷´æÒ»°ã²ÉÓÃDRAMоƬ×é³É¡£
£¨6£©²¿·ÖÒëÂë¿ÉÒÔ¼ò»¯ÒëÂëµç·£¬²»»á¼õÉÙ¿ÉÓõĴ洢¿Õ¼ä¡£
£¨7£©´æ´¢ÏµÍ³Ã¿´Î¸øDRAMоƬÌṩˢеØÖ·£¬±»Ñ¡ÖеÄоƬÉÏËùÓе¥Ôª¶¼Ë¢ÐÂÒ»±é¡£ £¨8£©´æ´¢ÏµÍ³µÄˢеØÖ·Ìṩ¸øËùÓÐDRAMоƬ¡£
£¨9£©FPM DRAMоƬÖеĿìÒ³¶Áд·½Ê½¾ÍÊÇâ§·¢´«ËÍ·½Ê½¡£ £¨10£©ROMоƬµÄÉÕд»ò²Áд¾ÍÊÇÖ¸¶ÔROMоƬµÄ±à³Ì¡£ ¡²½â´ð¡³
¢Ù ´í ¢Þ ´í
¢Ú ¶Ô ¢ß ´í
¢Û ¶Ô ¢à ¶Ô
¢Ü ¶Ô ¢á ´í
¢Ý ¶Ô ¢â ¶Ô
¡²Ï°Ìâ6.3¡³Ìî¿ÕÌâ
£ £34
£¨1£©¼ÆËã»ú´æ´¢ÈÝÁ¿µÄ»ù±¾µ¥Î»£º1 B£¨Byte£©£½__________b£¨bits£©£¬1KB£½__________B£¬1MB£½__________KB£¬1GB£½__________MB£¬1TB£½__________GB£½__________B¡£
£¨2£©80486ƬÉÏCacheµÄÈÝÁ¿ÊÇ__________£¬²ÉÓÃ__________·×éºÏµØÖ·Ó³Éä¡£
£¨3£©ÔÚ°ëµ¼Ìå´æ´¢Æ÷ÖУ¬RAMÖ¸µÄÊÇ__________£¬Ëü¿É¶Á¿Éд£¬µ«¶ÏµçºóÐÅÏ¢Ò»°ã»á__________£»¶øROMÖ¸µÄÊÇ__________£¬Õý³£¹¤×÷ʱֻÄÜ´ÓÖÐ__________ÐÅÏ¢£¬µ«¶ÏµçºóÐÅÏ¢__________¡£
£¨4£©´æ´¢½á¹¹Îª8K¡Á8λµÄEPROMоƬ2764£¬¹²ÓÐ__________¸öÊý¾ÝÒý½Å¡¢__________¸öµØÖ·Òý½Å¡£ÓÃËü×é³É64KBµÄROM´æ´¢Çø¹²Ðè__________ƬоƬ¡£
£¨5£©¶ÔÒ»¸ö´æ´¢Æ÷оƬ½øÐÐÆ¬Ñ¡ÒëÂëʱ£¬ÓÐÒ»¸ö¸ßλϵͳµØÖ·ÐźÅûÓвμÓÒëÂ룬Ôò¸ÃоƬµÄÿ¸ö´æ´¢µ¥ÔªÕ¼ÓÐ__________¸ö´æ´¢Æ÷µØÖ·¡£
£¨6£©°ëµ¼Ìå__________оƬ¶¥²¿¿ªÓÐÒ»¸öÔ²ÐÎʯӢ´°¿Ú¡£UÅÌ¡¢MP3²¥·ÅÆ÷¡¢ÊýÂëÏà»ú¡¢¶àýÌåÊÖ»úµÈÉ豸һ°ã²ÉÓð뵼Ìå__________оƬ¹¹³É´æ´¢Æ÷¡£
£¨7£©ÔÚ8088´¦ÀíÆ÷ϵͳÖУ¬¼ÙÉèµØÖ·×ÜÏßA19¡«A15Êä³ö01011ʱÒëÂëµç·²úÉúÒ»¸öÓÐЧµÄƬѡÐźš£Õâ¸öƬѡÐźŽ«Õ¼ÓÐÖ÷´æ´Ó__________µ½__________µÄÎïÀíµØÖ··¶Î§£¬¹²ÓÐ__________ÈÝÁ¿¡£
£¨8£©8086ºÍ80286ʹÓÃ16λÊý¾Ý×ÜÏߣ¬Ö÷´æ·Ö³ÉżÊýµØÖ·ºÍÆæÊýµØÖ·Á½¸ö´æ´¢Ìå¡£80386ºÍ80486´¦ÀíÆ÷ʹÓÃ__________λÊý¾Ý×ÜÏߣ¬ÀûÓÃ4¸ö×Ö½ÚÔÊÐíÐźÅÇø±ð__________¸ö´æ´¢Ìå¡£Pentium¼°ÒÔºóµÄIA-32´¦ÀíÆ÷ʹÓÃ__________λÊý¾Ý×ÜÏߣ¬Ö÷´æÓÉ__________¸ö´æ´¢Ìå×é³É¡£
£¨9£©¸ßËÙ»º³å´æ´¢Æ÷µÄµØÓ³Ö·ÉäÓÐ____________¡¢____________ºÍ____________·½Ê½¡£PentiumµÄL1 Cache²ÉÓÃ____________Ó³É䷽ʽ¡£
£¨10£©ÒÑÖªIA-32´¦ÀíÆ÷ij¸ö¶ÎÃèÊö·ûΪ0000B98200002000H£¬Ôò¸Ã¶Î»ùµØÖ·£½__________£¬¶Î½çÏÞ£½__________¡£ ¡²½â´ð¡³
¢Ù 8£¬1024£¬1024£¬1024£¬1024£¬240 ¢Ú 8KB£¬4
¢Û Ëæ»ú´æÈ¡´æ´¢Æ÷£¬¶ªÊ§£¬Ö»¶Á´æ´¢Æ÷£¬¶ÁÈ¡£¬²»»á¶ªÊ§ ¢Ü 8£¬13£¬8 ¢Ý 2
¢Þ£¨UV-£©EPROM£¬Flash Memory ¢ß 58000H£¬5FFFFH£¬32KB ¢à 32£¬4£¬64£¬8
¢á Ö±½ÓÓ³É䣬×éºÏÏà¹ØÓ³É䣬ȫÏà¹ØÓ³É䣬2·×éºÏÏà¹ØÓ³Éä ¢â 00820000H£¬02000H
¡²Ï°Ìâ6.4¡³¾ÙÀý˵Ã÷´æ´¢·ÃÎʵľֲ¿ÐÔÔÀí¡£
¡²½â´ð¡³
´¦ÀíÆ÷·ÃÎÊ´æ´¢Æ÷ʱ£¬ÎÞÂÛÊǶÁȡָÁÊÇ´æÈ¡Êý¾Ý£¬Ëù·ÃÎʵĴ洢µ¥ÔªÔÚÒ»¶Îʱ¼äÄÚ¶¼Ç÷ÏòÓÚÒ»¸ö½ÏСµÄÁ¬ÐøÇøÓòÖУ¬Õâ¾ÍÊÇ´æ´¢·ÃÎʵľֲ¿ÐÔÔÀí¡£
ÀýÈ磬Ç󯽾ùÖµµÄº¯Êý¡£ long mean(long d[], long num) {
long i,temp=0;
for(i=0; i º¯ÊýÖеıäÁ¿tempÌåÏÖÁËʱ¼ä¾Ö²¿£¬ÒòΪÿ´ÎÑ»·¶¼ÒªÊ¹ÓÃËü¡£Ë³Ðò·ÃÎÊÊý×éd[]µÄ¸÷¸öÔªËØ£¨ÏàÁÚ´æ·ÅÔÚÖ÷´æ£©£¬ÌåÏÖÁ˿ռä¾Ö²¿¡£Ñ»·ÌåÄÚµÄÖ¸Áî˳Ðò´æ·Å£¬ÒÀ´Î¶ÁȡִÐÐÌåÏÖÁ˿ռä¾Ö²¿£»Í¬Ê±Öظ´Ö´ÐÐÑ»·Ì壬ÓÖÌåÏÖÁËʱ¼ä¾Ö²¿¡£ ¡²Ï°Ìâ6.5¡³¼òÊö´æ´¢ÏµÍ³µÄ²ã´Î½á¹¹¼°¸÷²ã´æ´¢²¿¼þÌØµã¡£ ¡²½â´ð¡³ Ϊ½â¾öÈÝÁ¿¡¢ËٶȺͼ۸ñµÄì¶Ü£¬´æ´¢ÏµÍ³²ÉÓýð×ÖËþÐͲã´Î½á¹¹£¬µ¥Î»¼Û¸ñºÍËÙ¶È×ÔÉ϶øÏÂÖð²ã¼õÉÙ£¬ÈÝÁ¿×ÔÉ϶øÏÂÖð²ãÔö¼Ó¡£ ´æ´¢ÏµÍ³µÄ¸÷²ã´æ´¢²¿¼þ×ÔÉ϶øÏÂÒÀ´ÎÊÇ£ºCPU¼Ä´æÆ÷¡¢¸ßËÙ»º´æ¡¢Ö÷´æ´æ´¢Æ÷(RAM/ROM)£¬¸¨Öú´æ´¢Æ÷Èç´ÅÅÌ¡¢¹âÅ̵ȡ£CPU¼Ä´æÆ÷¡¢¸ßËÙ»º´æÆ÷¼¯³ÉÔÚCPUоƬÉÏ£¬¶ÔÓû§À´Ëµ£¬ÊÇ͸Ã÷µÄ£¬ËüÃÇÓÃÓÚÔÝ´æÖ÷´æºÍ´¦ÀíÆ÷½»»¥µÄÊý¾Ý£¬ÒÔ¼õÉÙÆµ·±¶ÁÈ¡Ö÷´æ¶øÓ°Ïì´¦ÀíÆ÷ËÙ¶È£»Ö÷´æ´¢Æ÷Ôò¿ÉºÍ´¦ÀíÆ÷Ö±½Ó½»»»Êý¾Ý£¬¶ø¸¨Öú´æ´¢Æ÷±ØÐë¾¹ýÖ÷´æ´æ´¢Æ÷£¬²Å¿ÉÓë´¦ÀíÆ÷½øÐÐÊý¾Ý½»»»¡£ ¡²Ï°Ìâ6.6¡³ÔÚ°ëµ¼Ìå´æ´¢Æ÷¼þÖУ¬Ê²Ã´ÊÇSRAM¡¢DRAMºÍNVRAM£¿ ¡²½â´ð¡³ SRAMÊǾ²Ì¬¶Áд´æ´¢Æ÷оƬ£¬ËüÒÔ´¥·¢Æ÷Ϊ»ù±¾´æ´¢µ¥Ôª£¬ÒÔÆäÁ½ÖÖÎȶ¨×´Ì¬±íʾÂß¼0ºÍÂß¼1¡£ DRAMÊǶ¯Ì¬¶Áд´æ´¢Æ÷оƬ£¬ËüÒÔµ¥¸öMOS¹ÜΪ»ù±¾´æ´¢µ¥Ôª£¬ÒÔ¼«¼äµçÈݳä·Åµç±íʾÁ½ÖÖÂ߼״̬£¬ÐèÒª²»¶Ïˢб£³ÖÐÅÏ¢ÕýÈ·¡£ £ £35 NVRAM¶àÖ¸´øÓÐºó±¸µç³ØµÄSRAMоƬ£¬ÕâÖÖоƬ²ÉÓÃCMOSÖÆÔ칤ÒÕÉè¼ÆÒÔ¼õÉÙÓõ硣 ¡²Ï°Ìâ6.7¡³SRAMоƬµÄƬѡÐźÅÓÐʲôÓÃ;£¿¶ÔÓ¦¶Áд¿ØÖƵÄÐźÅÊÇʲô£¿ ¡²½â´ð¡³ ƬѡÐźÅCS£ºÆ¬Ñ¡ÓÐЧʱ£¬²Å¿ÉÒÔ¶Ô¸ÃоƬ½øÐжÁ/д²Ù×÷£»ÎÞЧʱ£¬Êý¾ÝÒý½Å³ÊÏÖ¸ß×è״̬¡¢ÓëϵͳÊý¾Ý×ÜÏ߸ôÀ룬²¢¿É½µµÍÄÚ²¿¹¦ºÄ¡£ ¶Á¿ØÖÆÐźÅOE£ºÔÚоƬ±»Ñ¡ÖеÄǰÌáÏ£¬ÈôOEÓÐЧ£¬ÔòоƬ½«ÔÊÐíµØÖ·ÐźÅÑ¡ÔñµÄ´æ´¢µ¥ÔªÄÚµÄÊý¾ÝÊä³öµ½Êý¾ÝÒý½ÅÉÏ¡£ д¿ØÖÆÐźÅWE£ºÔÚоƬ±»Ñ¡ÖеÄǰÌáÏ£¬ÈôWEÓÐЧ£¬ÔòоƬ½«Êý¾ÝÒý½ÅÉϵÄÊý¾ÝдÈëµØÖ·ÐźÅÑ¡ÔñµÄ´æ´¢µ¥ÔªÄÚ¡£ ¡²Ï°Ìâ6.8¡³DRAMΪʲôҪˢУ¬´æ´¢ÏµÍ³ÈçºÎ½øÐÐˢУ¿ ¡²½â´ð¡³ DRAMÒÔµ¥¸öMOS¹ÜΪ»ù±¾´æ´¢µ¥Ôª£¬ÒÔ¼«¼äµçÈݳä·Åµç±íʾÁ½ÖÖÂ߼״̬¡£ÓÉÓÚ¼«¼äµçÈݵÄÈÝÁ¿ºÜС£¬³äµçµçºÉ×ÔȻй©»áºÜ¿ìµ¼ÖÂÐÅÏ¢¶ªÊ§£¬ËùÒÔÒª²»¶Ï¶ÔËü½øÐÐˢвÙ×÷¡¢¼´¶ÁÈ¡ÔÄÚÈÝ¡¢·Å´óÔÙдÈë¡£ ´æ´¢ÏµÍ³µÄˢпØÖƵç·ÌṩˢÐÂÐеØÖ·£¬½«´æ´¢DRAMоƬÖеÄijһÐÐÑ¡ÖÐˢС£Êµ¼ÊÉÏ£¬Ë¢Ð¿ØÖƵç·Êǽ«Ë¢ÐÂÐеØÖ·Í¬Ê±ËÍ´ï´æ´¢ÏµÍ³ÖÐËùÓÐDRAMоƬ£¬ËùÓÐDRAMоƬ¶¼ÔÚͬʱ½øÐÐÒ»ÐеÄˢвÙ×÷¡£ ˢпØÖƵç·ÉèÖÃÿ´ÎÐеØÖ·ÔöÁ¿£¬²¢ÔÚÒ»¶¨Ê±¼ä¼ä¸ôÄÚÆô¶¯Ò»´ÎˢвÙ×÷£¬¾ÍÄܹ»±£Ö¤ËùÓÐDRAMоƬµÄËùÓд洢µ¥ÔªµÃµ½¼°Ê±Ë¢Ð¡£ ¡²Ï°Ìâ6.9¡³Ê²Ã´ÊÇÑÚÃþROM¡¢OTP-ROM¡¢EPROM¡¢EEPROMºÍFlash ROM£¿ ¡²½â´ð¡³ ÑÚĤROM£ºÍ¨¹ýÑÚĤ¹¤ÒÕ¡¢½«Òª±£´æµÄÐÅÏ¢Ö±½ÓÖÆ×÷ÔÚоƬµ±ÖУ¬ÒÔºóÔÙÒ²²»Äܸü¸Ä¡£ OTP-ROM£º¸ÃÀàоƬ³ö³§Ê±´æ´¢µÄÐÅϢΪȫ¡°1¡±£¬ÔÊÐíÓû§½øÐÐÒ»´ÎÐÔ±à³Ì£¬´Ëºó±ã²»Äܸü¸Ä¡£ EPROM£ºÒ»°ãÖ¸¿ÉÓÃ×ÏÍâ¹â²Á³ý¡¢²¢¿ÉÖØ¸´±à³ÌµÄROM¡£ EEPROM£ºÒ²³£±í´ïΪE2PROM£¬Æä²Á³ýºÍ±à³Ì£¨¼´²Áд£©Í¨¹ý¼ÓµçµÄ·½·¨À´½øÐУ¬¿ÉʵÏÖ¡°ÔÚÏß±à³Ì¡±ºÍ¡°ÔÚÓ¦Óñà³Ì¡± Flash ROM£ºÊÇÒ»ÖÖÐÂÐ͵ĵç²Á³ý¿É±à³ÌROMоƬ£¬Äܹ»ºÜ¿ì²Á³ýÕû¸öоƬÄÚÈÝ¡£ ¡²Ï°Ìâ6.10¡³Çë¸ø³ö½Ì²Äͼ6-7ÖÐ138ÒëÂëÆ÷µÄËùÓÐÒëÂëÊä³öÒý½Å¶ÔÓ¦µÄµØÖ··¶Î§¡£ ¡²½â´ð¡³ Y0¡«Y7µÄµØÖ··¶Î§ÒÀ´ÎÊÇ£º E0000H¡«E3FFFH£¬E4000H¡«E7FFFH£¬E8000H¡«EBFFFH£¬EC000H¡«EFFFFH£¬F0000H¡«F3FFFH£¬F4000H¡«F7FFFH£¬F8000H¡«FBFFFH£¬FC000H¡«FFFFFH¡£ ¡²Ï°Ìâ6.11¡³Ê²Ã´ÊÇ´æ´¢Æ÷оƬµÄÈ«ÒëÂëºÍ²¿·ÖÒëÂ룿¸÷ÓÐÊ²Ã´ÌØµã£¿ ¡²½â´ð¡³ È«ÒëÂ룺ʹÓÃÈ«²¿ÏµÍ³µØÖ·×ÜÏß½øÐÐÒëÂë¡£ÌØµãÊǵØÖ·Î¨Ò»£¬Ò»¸ö´æ´¢µ¥ÔªÖ»¶ÔÓ¦Ò»¸ö´æ´¢Æ÷µØÖ·£¨·´Ö®ÒàÈ»£©£¬×é³ÉµÄ´æ´¢ÏµÍ³ÆäµØÖ·¿Õ¼äÁ¬Ðø¡£ ²¿·ÖÒëÂ룺ֻʹÓò¿·ÖϵͳµØÖ·×ÜÏß½øÐÐÒëÂë¡£ÆäÌØµã£ºÓÐÒ»¸öûÓб»Ê¹ÓõĵØÖ·ÐźžÍÓÐÁ½ÖÖ±àÂ룬ÕâÁ½¸ö±àÂëÖ¸Ïòͬһ¸ö´æ´¢µ¥Ôª£¬³öÏÖµØÖ·Öظ´¡£ ¡²Ï°Ìâ6.12¡³Çø±ðÈçϸ÷¸öÖ÷´æÃû³ÆµÄº¬Ò壺³£¹æÖ÷´æ£¬À©Õ¹Ö÷´æ£¬À©³äÖ÷´æ£»ÉÏλÖ÷´æÇøUMAºÍÉÏλÖ÷´æ¿éUMB£¬¸ß¶ËÖ÷´æÇøHMA£¬Ó°×ÓÖ÷´æ¡£ ¡²½â´ð¡³ ³£¹æÖ÷´æ£º8088ºÍ8086Ìṩ20¸öµØÖ·ÏßA19¡«A0£¬Ñ°Ö·1MBµÄ´æÖü¿Õ¼ä£¬ÆäÖУ¬×îµÍ640KBµÄϵͳRAMÇø±»³ÆÎª³£¹æÖ÷´æ»ò»ù±¾Ö÷´æ¡£ À©Õ¹Ö÷´æ£ºIA-32´¦ÀíÆ÷ÔÚ1MBÖ®ºóµÄÖ÷´æ¿Õ¼ä¶¼×÷ΪRAMÇøÓòʹÓ㬱»³ÆÎªÀ©Õ¹Ö÷´æ¡£ À©³äÖ÷´æ£º´¦ÀíÆ÷²»¿ÉÒÔÖ±½Ó·ÃÎÊ£¬ÀûÓá°Ìå½»»»¼¼Êõ¡±ÊµÏÖ´¦ÀíÆ÷·ÃÎÊ¡£ ÉÏλÖ÷´æÇøUMA£ºÔÚ³£¹æÖ÷´æÆäºó384KB£¨A0000H¡«FFFFFH£©Ö÷´æ³ÆÎªÉÏλÖ÷´æÇøUMA¡£ ÉÏλÖ÷´æ¿éUMB£ºÉÏλÖ÷´æÇøUMAûÓб»Ê¹Óò¿·Ö£¬±»¿ª±ÙΪÉÏλÖ÷´æ¿éUMB¡£ ¸ß¶ËÖ÷´æÇøHMA£ºÔÚʵ·½Ê½Ï£¬Í¨¹ý¿ØÖÆA20¿ª·Å£¬³ÌÐò¿ÉÒÔ·ÃÎʵÄ1MBÖ®ºóµÄ64KBÇøÓò¡£ Ó°×ÓÖ÷´æ£ºPC»úÆô¶¯ºó¿ÉÒÔ½«ROM-BIOSÓ³Éäµ½RAMÖУ¬Õⲿ·ÖÓÃ×÷ROM-BIOS¡¢²¢±»²Ù×÷ϵͳÉèÖÃΪֻ¶ÁµÄRAMÇøÓò¡£ £ £36 ¡²Ï°Ìâ6.13¡³¿ª»úºó£¬Î¢»úϵͳ³£ÐèÒª¼ì²âÖ÷´æ´¢Æ÷ÊÇ·ñÕý³£¡£ÀýÈ磬¿ÉÒÔÏÈÏòËùÓд洢µ¥ÔªÐ´ÈëÊý¾Ý55H£¨»ò00H£©¡¢È»ºó¶Á³ö¿´ÊÇ·ñ»¹ÊÇ55H£¨»ò00H£©£»½Ó×ÅÔÙÏòËùÓд洢µ¥ÔªÐ´ÈëÊý¾ÝAAH£¨»òFFH£©¡¢È»ºó¶Á³ö¿´ÊÇ·ñ»¹ÊÇAAH£¨»òFFH£©¡£ÀûÓÃÁ½¸ö¶þ½øÖƸ÷뻥·´µÄ¡°»¨Ñù¡±Êý¾ÝµÄ·´¸´Ð´Èë¡¢¶Á³öºÍ±È½Ï¾ÍÄܹ»Ê¶±ð³öÓйÊÕϵĴ洢µ¥Ôª¡£ÀûÓûñµÃµÄÓйÊÕÏ´æ´¢µ¥ÔªËùÔÚµÄÎïÀíµØÖ·£¬Èç¹ûÄܹ»·ÖÎö³ö¸Ã´æ´¢µ¥ÔªËùÔڵĴ洢Æ÷оƬ£¬¾Í¿ÉÒÔʵÏÖоƬ¼¶µÄάÐÞ¡£ÊÔÀûÓûã±àÓïÑÔ±àдһ¸ö¼ì²â³£¹æÖ÷´æ×î¸ß64KB£¨Âß¼µØÖ·´Ó9000H¡Ã0000Hµ½9000H¡ÃFFFFH£©µÄ³ÌÐò£¬Èç¹û·¢ÏÖ´íÎóÇëÏÔʾÆäÂß¼µØÖ·¡£ ¡²½â´ð¡³ again: again1: again2: next2: done: ¡²Ï°Ìâ6.14¡³Ê²Ã´ÊÇLRUÌæ»»Ëã·¨£¿80486ƬÄÚCacheÖУ¬Èç¹û3¸öÌæ»»Ë㷨λB2B1B0£½010£¬Ôò½«Ìæ»»ÄĸöCacheÐУ¬²¢¸ø³öÄãµÄÅжϹý³Ì¡£ ¡²½â´ð¡³ LRUËã·¨ÊǽüÆÚ×îÉÙʹÓᢼ´Ñ¡Ôñ×ʱ¼äδ±»Ê¹ÓõÄÊý¾Ý¿é½øÐÐÌæ»»µÄËã·¨¡£ B0£½0£¬ËµÃ÷×î½ü·ÃÎÊÁËL2/L3ÐУ¬ËùÒÔÓ¦¸ÃÌæ»»L0»òL1ÐС£B1£½1£¬ËµÃ÷×î½ü·ÃÎÊÁËL0ÐУ¬ËùÒÔÓ¦¸ÃÌæ»»L1¡£ÒòΪLRUËã·¨ÊÇÑ¡Ôñ×ʱ¼äδ±»·ÃÎʵÄCacheÐнøÐÐÌæ»»¡£ ¡²Ï°Ìâ6.15¡³¸ßËÙ»º³å´æ´¢Æ÷CacheµÄдÈë²ßÂÔÊǽâ¾öʲôÎÊÌâµÄ£¿ÓÐÄÄÁ½ÖÖдÈë²ßÂÔ£¬¸÷×ÔµÄдÈë²ßÂÔÊÇÔõÑùµÄ£¿ ¡²½â´ð¡³ дÈë²ßÂÔÓÃÓÚÔÚдÃüÖÐʱCacheÓëÖ÷´æÄÚÈݱ£³ÖÒ»Ö¡£ ֱдʽдÈë²ßÂÔÖ¸´¦ÀíÆ÷¶ÔCacheдÈëµÄͬʱ£¬½«Êý¾ÝҲдÈëµ½Ö÷´æ£¬ÕâÑùÀ´±£Ö¤Ö÷´æºÍCacheÄÚÈÝÒ»Ö¡£Ëü¼òµ¥¿É¿¿¡£ »ØÐ´CacheÖ»ÓÐÔÚÐÐÌæ»»Ê±²Å¿ÉÄÜдÈëÖ÷´æ£¬Ð´ÈëÖ÷´æµÄ´ÎÊý£¬»áÉÙÓÚ´¦ÀíÆ÷ʵ¼ÊÖ´ÐеÄдÈë²Ù×÷Êý¡£»ØÐ´CacheµÄÐÔÄÜÒª¸ßÓÚֱдCache£¬µ«ÊµÏֽṹÂÔΪ¸´ÔÓ¡£ ¡²Ï°Ìâ6.16¡³80486ƬÉÏ8KB CacheµÄ±êÇ©´æ´¢Æ÷ΪʲôֻÐèÒª21λ£¿ ¡²½â´ð¡³ 80486ƬÉÏCache¹²ÓÐ8KBÈÝÁ¿£¬²ÉÓÃ4·×éºÏµØÖ·Ó³É䷽ʽ¡£¶ÔÓÚ4GBÈÝÁ¿µÄÖ÷´æÀ´Ëµ£¬ÒÔCache·Ϊµ¥Î»£¬¿ÉÒÔ·Ö³É4GB¡Â2KB£½232¡Â211£½221¸öCache·¡£ÕâÑùÿ¸öCacheÐÐÖ»ÒªÉè¼ÆÒ»¸ö21λµÄ±êÇ©´æ´¢Æ÷£¬¼Ç¼¸ÃCacheÐÐÓ³Éäµ½ÄĸöÖ÷´æµÄCache·¡£ÔÙ½áºÏÖ±½ÓÓ³ÉäµÄ×éºÅ¾Í¿ÉÒÔÃ÷È·¸ÃCacheÐжÔÓ¦ÄĸöÖ÷´æ¿é¡£ ; ´úÂë¶Î mov ax,9000h mov ds,ax mov ah,55h push ax mov bx,0 mov al,ah mov [bx],al dec bx jnz again1 mov al,[bx] cmp al,ah jz next2 dispcrlf push ax mov ax,ds call disphw mov al,':' call dispc mov ax,bx call disphw pop ax dec bx jnz again2 pop ax cmp ah,0aah jz done mov ah,0aah jmp again ; ÏÈÓÃ55H ; дÈë ; ¶Á³ö ; ¼ì²â ; ÏÔʾ¶ÎµØÖ· ; ÏÔÊ¾Æ«ÒÆµØÖ· ; ºóÓÃ0AAH £ £37 ¡²Ï°Ìâ6.17¡³¸ßËÙ»º´æµÄдÈë²Ù×÷Óм¸¸öºÜ½üËÆµÄÓ¢ÎĴʻ㣬ËüÃÇ·Ö±ð±íʾʲôº¬Ò壿 £¨1£©Write Through £¨2£©Write Back £¨3£©Write Around £¨4£©Fetch on Write ¡²½â´ð¡³ £¨1£©Write Through£ºÐ´ÃüÖÐʱµÄֱд²ßÂÔ¡£ £¨2£©Write Back£ºÐ´ÃüÖÐʱµÄ»ØÐ´²ßÂÔ¡£ £¨3£©Write Around£ºÐ´Î´ÃüÖÐʱµÄ²»Ð´·ÖÅä·¨£¬¼´ÈÆÐ´·¨¡£ £¨4£©Fetch on Write£ºÐ´Î´ÃüÖÐʱµÄд·ÖÅä·¨£¬¼´Ð´Ê±È¡·¨¡£ ¡²Ï°Ìâ6.18¡³Çø±ðÈçϸßËÙ»º´æÖеĸÅÄ £¨1£©Ö÷´æÊý¾Ý¿éBlock £¨3£©¸ßËÙ»º´æ×éSet £¨2£©¸ßËÙ»º´æÐÐLine £¨4£©¸ßËÙ»º´æÂ·Way ¡²½â´ð¡³ £¨1£©Ö÷´æÊý¾Ý¿éBlock£º¸ßËÙ»º´æÓëÖ÷´æ¼äµÄÊý¾Ý´«ËÍÒÔÊý¾Ý¿é£¨Block£©Îªµ¥Î»£¬ÀýÈçB¸ö×Ö¡£Ö÷´æÊý¾Ý¿éBlockÊÇÖ÷´æÖÐÁ¬ÐøµÄB¸ö×ÖÊý¾Ý¡£ £¨2£©¸ßËÙ»º´æÐÐLine£ºÖ¸¸ßËÙ»º´æÖаüº¬B¸ö×ÖµÄÒ»¸öµ¥Ôª¡£ £¨3£©¸ßËÙ»º´æ×éSet£º×éºÏÏà¹ØÓ³É佫¶à¸öCacheÐÐ×÷Ϊһ¸ö×飨Set£©¡£ £¨4£©¸ßËÙ»º´æÂ·Way£º×éºÏÏà¹ØÓ³É佫ËùÓÐ×éÖÐͬλÖÃCacheÐгÆÎªÒ»Â·£¨Way£©¡£ ¡²Ï°Ìâ6.19¡³Ê²Ã´ÊǶÎÑ¡ÔñÆ÷¡¢ÃèÊö·û¡¢ÃèÊö·û±íºÍÃèÊö·û±í¼Ä´æÆ÷£¿ ¡²½â´ð¡³ ¶ÎÑ¡ÔñÆ÷£º±£»¤·½Ê½ÏµÄ16λ¶Î¼Ä´æÆ÷¾ÍÊǶÎÑ¡ÔñÆ÷¡£ ÃèÊö·û£ºÊDZ£»¤·½Ê½ÒýÈëµÄÊý¾Ý½á¹¹£¬ÓÐ8¸ö×Ö½Ú64룬¾ßÓжλùµØÖ·¡¢·ÃÎÊȨÏÞ¡¢¶Î½çÏÞµÈ×ֶΡ£IA-32´¦ÀíÆ÷ÀûÓÃËüÀ´ÊµÏÖ´æ´¢¹ÜÀí¡¢ÌØÈ¨Óë±£»¤¡£ ÃèÊö·û±í£ºÃèÊö·û±íÊÇ´æ·ÅÃèÊö·ûµÄÒ»¸öÌØÊâÇøÓò¶Î¡£ ÃèÊö·û±í¼Ä´æÆ÷£ºÖ¸Ã÷ÃèÊö·û±íËùÔÚÖ÷´æµØÖ·µÄ¼Ä´æÆ÷¡£ ¡²Ï°Ìâ6.20¡³IA-32´¦ÀíÆ÷ÔÚ±£»¤·½Ê½Ï£¬¶Î¼Ä´æÆ÷ÊÇʲôÄÚÈÝ£¿ÈôDS£½78H£¬ËµÃ÷ÔÚ±£»¤·½Ê½Æä¾ßÌåµÄº¬Òå¡£ ¡²½â´ð¡³ ¶Î¼Ä´æÆ÷ÊǶÎÑ¡ÔñÆ÷£¬°üº¬3¸öÓò£¬Ö¸ÏòÒ»¸ö¶ÎÃèÊö·û¡£ DS£½78H£¬ËµÃ÷µ±Ç°Êý¾Ý¶ÎÃèÊö·ûÊÇÈ«¾ÖÃèÊö·û±íÖеĵÚ0FH¸öÃèÊö·û¡£±¾´Î·ÃÎÊÊý¾ÝµÄÌØÈ¨¼¶±ðΪ0£¬×î¸ß¡£ ¡²Ï°Ìâ6.21¡³²ÉÓÃ4KB·ÖÒ³£¬ËµÃ÷IA-32´¦ÀíÆ÷½«ÏßÐÔµØÖ·×ª»»ÎªÎïÀíµØÖ·µÄ¹ý³Ì¡£ ¡²½â´ð¡³ ͨ¹ý2¼¶²é±íÀ´ÊµÏÖÏßÐÔµØÖ·×ª»»ÎªÎ»ÎïÀíµØÖ·¡£ £¨1£©ÔÚCR3Öаüº¬×ŵ±Ç°ÈÎÎñµÄҳĿ¼µÄÆðʼµØÖ·£¬½«Æä¼ÓÉÏÏßÐÔµØÖ·×î¸ß10λA31¡«A22È·¶¨µÄҳĿ¼ÏîµÄÆ«ÒÆÁ¿£¬±ã·ÃÎʵ½Ö¸¶¨µÄҳĿ¼Ïî¡£ £¨2£©ÔÚ´ËҳĿ¼ÏîÖаüº¬×ÅÖ¸ÏòµÄÒ³±íµÄÆðʼµØÖ·£¬½«Æä¼ÓÉÏÏßÐÔµØÖ·ÖмäµÄ10λA21¡«A12È·¶¨µÄÒ³±íÏîµÄÆ«ÒÆÁ¿£¬±ã·ÃÎʵ½Ö¸¶¨µÄÒ³±íÏî¡£ £¨3£©ÔÚ´ËÒ³±íÏîÖаüº¬×ÅÒª·ÃÎʵÄÒ³ÃæµÄÆðʼµØÖ·£¬½«Æä¼ÓÉÏÏßÐÔµØÖ·×îµÍ12λA11¡«A0µÄÆ«ÒÆÁ¿£¬¾Í´ÓÕâÒ»Ò³ÖзÃÎʵ½ËùѰַµÄÎïÀíµ¥Ôª¡£ µÚ7Õ ÊäÈëÊä³ö½Ó¿Ú ¡²Ï°Ìâ7.1¡³¼ò´ðÌâ £¨1£©ÍâÉèΪʲô²»ÄÜÏñ´æ´¢Æ÷оƬÄÇÑùÖ±½ÓÓëÖ÷»úÏàÁ¬£¿ £¨2£©¼ÆËã»úÁ½¸ö¹¦Äܲ¿¼þ¡¢É豸µÈÖ®¼äΪʲôһ°ã¶¼ÐèÒªÊý¾Ý»º³å£¿ £¨3£©Ê²Ã´Êǽӿڵç·µÄÃüÁî×Ö»ò¿ØÖÆ×Ö£¿ £¨4£©PC»úÖÐCMOS RAMÊôÓÚÖ÷´æ¿Õ¼äÂ𣿠£¨5£©Óëϵͳ×ÜÏßÁ¬½ÓµÄÊäÈë½Ó¿ÚΪʲôÐèÒªÈý̬»º³åÆ÷£¿ £¨6£©Í¸Ã÷Ëø´æÆ÷ºÍ·Ç͸Ã÷Ëø´æÆ÷ÊÇÊ²Ã´Çø±ð£¿ £¨7£©Ê²Ã´ÑùµÄÍâÉè¿ÉÒÔ²ÉÓÃÎÞÌõ¼þÊý¾Ý´«ËÍ·½Ê½£¿ £¨8£©Ê²Ã´ÊDzéѯ³¬Ê±´íÎó£¿ £¨9£©Ô¶µ÷ÓÃCALLÖ¸ÁîºÍINT NÖ¸ÁîÓÐÊ²Ã´Çø±ð£¿ £ £38 £¨10£©ÎªÊ²Ã´ËµÍⲿÖжϲÅÊÇÕæÕýÒâÒåÉϵÄÖжϣ¿ ¡²½â´ð¡³ ¢Ù ÍⲿÉ豸£¬ÔÚ¹¤×÷ÔÀí¡¢Çý¶¯·½Ê½¡¢ÐÅÏ¢¸ñʽ¡¢ÒÔ¼°¹¤×÷Ëٶȵȷ½Ãæ±Ë´Ë²î±ðºÜ´ó£¬Óë´¦ÀíÆ÷µÄ¹¤×÷·½Ê½Ò²´óÏྶͥ¡£ËùÒÔ£¬ÍâÉè²»ÄÜÏñ´æ´¢Æ÷оƬÄÇÑùÖ±½ÓÓë´¦ÀíÆ÷ÏàÁ¬£¬±ØÐë¾¹ýÒ»¸öÖмäµç·¡£ ¢Ú Êý¾Ý»º³åÓÃÓÚÆ¥Åä¿ìËٵĴ¦ÀíÆ÷ÓëÏà¶ÔÂýËÙµÄÍâÉè»òÁ½¸ö¹¦Äܲ¿¼þËٶȲ»Æ¥ÅäµÄÊý¾Ý½»»»¡£ ¢Û ´¦ÀíÆ÷Ïò½Ó¿ÚоƬÏàÓ¦¶Ë¿ÚдÈëÌØ¶¨µÄÊý¾Ý£¬ÓÃÓÚÑ¡ÔñI/OоƬµÄ¹¤×÷·½Ê½»ò¿ØÖÆÍâÉ蹤×÷£¬¸ÃÊý¾Ý³ÆÃüÁî×Ö»ò¿ØÖÆ×Ö¡£ ¢Ü PC»úÖÐCMOS RAM²»ÊôÓÚÖ÷´æ¿Õ¼ä£¬CMOS RAMÓÐ64¸ö×Ö½ÚÈÝÁ¿£¬ÒÔ8λI/O½Ó¿ÚÐÎʽÓë´¦ÀíÆ÷Á¬½Ó£¬Í¨¹ýÁ½¸öI/OµØÖ··ÃÎÊ¡£ ¢Ý ÔÚÊäÈë½Ó¿ÚÖУ¬Îª±ÜÃâ¶à¸öÉ豸ͬʱÏò×ÜÏß·¢ËÍÊý¾Ý£¬ÐèÒª°²ÅÅÒ»¸öÈý̬»º³åÆ÷¡£Ö»Óе±´¦ÀíÆ÷ѡͨʱ£¬²ÅÔÊÐí±»Ñ¡ÖÐÉ豸½«Êý¾ÝË͵½ÏµÍ³×ÜÏߣ¬´ËʱÆäËûÊäÈëÉ豸ÓëÊý¾Ý×ÜÏ߸ôÀë¡£ ¢Þ ͸Ã÷Ëø´æÆ÷µÄ¿ØÖƶËΪÓÐЧµçƽʱ£¬Êä³öËæÊäÈë±ä»¯£¬³£³ÆÎªÖ±Í¨»ò͸Ã÷¡£·Ç͸Ã÷Ëø´æÆ÷²»ÂÛÆä¿ØÖÆ¶ËΪµÍ»òΪ¸ßµçƽ£¬Êä³ö״̬¶¼²»ËæÊäÈë±ä»¯¡£ ¢ß Èç·¢¹â¶þ¼«¹Ü¡¢°´¼üºÍ¿ª¹ØµÈ¼òµ¥É豸£¬ËüÃǵŤ×÷·½Ê½Ê®·Ö¼òµ¥£»Ïà¶Ô´¦ÀíÆ÷¶øÑÔ£¬Æä״̬ºÜÉÙ·¢Éú±ä»¯»ò±ä»¯ºÜÂý¡£ÕâЩÉ豸Óë´¦ÀíÆ÷½»»»Êý¾Ýʱ£¬¿É²ÉÓÃÎÞÌõ¼þ´«ËÍ¡£ ¢à ÔÚ²éѯ³ÌÐòÖУ¬µ±²éѯ³¬¹ýÁ˹涨µÄʱ¼ä£¬É豸ÈÔδ¾ÍÐ÷ʱ£¬¾ÍÒý·¢³¬Ê±´íÎó¡£ ¢á Ô¶µ÷ÓÃCALLÖ¸ÁîÀûÓÃÖ±½Ó»ò¼ä½ÓѰַµ÷ÓÃÁíÒ»¸ö´úÂë¶ÎµÄ×Ó³ÌÐò£»INT nÖ¸ÁîÀûÓÃÖжÏÏòÁ¿±í£¨µØÖ·±í£©µÄ·½·¨µ÷ÓÃÁíÒ»¸ö´úÂë¶ÎµÄÖжϷþÎñ³ÌÐò£¬»¹Óб£´æ±êÖ¾¼Ä´æÆ÷µÄ¹¦ÄÜ¡£ ¢â ÍⲿÖжÏÊÇÓÉ´¦ÀíÆ÷ÍⲿÌá³öÖжÏÇëÇóÒýÆðµÄ³ÌÐòÖжϡ£Ïà¶ÔÓÚ´¦ÀíÆ÷À´Ëµ£¬ÍⲿÖжÏÊÇËæ»ú²úÉúµÄ£¬ËùÒÔÊÇÕæÕýÒâÒåÉϵÄÖжϡ£ ¡²Ï°Ìâ7.2¡³ÅжÏÌâ £¨1£©´¦ÀíÆ÷²¢²»Ö±½ÓÁ¬½ÓÍâÉ裬¶øÊÇͨ¹ýI/O½Ó¿Úµç·ÓëÍâÉèÁ¬½Ó¡£ £¨2£©I/O½Ó¿ÚµÄ״̬¶Ë¿Úͨ³£¶ÔÓ¦Æä״̬¼Ä´æÆ÷¡£ £¨3£©I/O½Ó¿ÚµÄÊý¾Ý¼Ä´æÆ÷±£´æ´¦ÀíÆ÷ÓëÍâÉè¼ä½»»»µÄÊý¾Ý£¬Æð×ÅÊý¾Ý»º³åµÄ×÷Óᣠ£¨4£©IA-32´¦ÀíÆ÷µÄ64K¸öI/OµØÖ·Ò²Ïñ´æ´¢Æ÷µØÖ·Ò»Ñù·Ö¶Î¹ÜÀí¡£ £¨5£©Ö¸Áî¡°OUT DX,AX¡±µÄÁ½¸ö²Ù×÷Êý¾ù²ÉÓüĴæÆ÷Ѱַ·½Ê½£¬Ò»¸öÀ´×Ô´¦ÀíÆ÷¡¢Ò»¸öÀ´×ÔÍâÉè¡£ £¨6£©Ïòij¸öI/O¶Ë¿ÚдÈëÒ»¸öÊý¾Ý£¬Ò»¶¨¿ÉÒÔ´Ó¸ÃI/O¶Ë¿Ú¶Á»ØÕâ¸öÊý¾Ý¡£ £¨7£©³ÌÐò²éѯ·½Ê½µÄÒ»¸öÖ÷ҪȱµãÊÇÐèÒª´¦ÀíÆ÷»¨·Ñ´óÁ¿Ñ»·²éѯ¡¢¼ì²âʱ¼ä¡£ £¨8£©Öжϴ«ËÍ·½Ê½Ï£¬ÓÉÓ²¼þʵÏÖÊý¾Ý´«ËÍ£¬²»ÐèÒª´¦ÀíÆ÷Ö´ÐÐIN»òOUTÖ¸Áî¡£ £¨9£©IA-32´¦ÀíÆ÷±£»¤·½Ê½ÓÃÖжÏÃèÊö·û±í´úÌæÁËʵ·½Ê½µÄÖжÏÏòÁ¿±í¡£ £¨10£©Ä³¸öÍâÉèÖжÏͨ¹ýÖжϿØÖÆÆ÷IRÒý½ÅÏò´¦ÀíÆ÷Ìá³ö¿ÉÆÁ±ÎÖжϣ¬Ö»Òª´¦ÀíÆ÷¿ªÖжϾÍÒ»¶¨Äܹ»ÏìÓ¦¡£ ¡²½â´ð¡³ ¢Ù ¶Ô ¢Þ ´í ¢Ú ¶Ô ¢ß ¶Ô ¢Û ¶Ô ¢à ´í ¢Ü ´í ¢á ¶Ô ¢Ý ´í ¢â ´í ¡²Ï°Ìâ7.3¡³Ìî¿ÕÌâ £¨1£©¼ÆËã»úÄܹ»Ö±½Ó´¦ÀíµÄÐźÅÊÇ__????___?£¬__????___?ºÍ__????___?ÐÎʽ¡£ £¨2£©ÔÚIntel 80x86ϵÁд¦ÀíÆ÷ÖУ¬I/O¶Ë¿ÚµÄµØÖ·²ÉÓÃ__????___?±àÖ··½Ê½£¬·ÃÎʶ˿ÚʱҪʹÓÃרÃŵÄ__????___?Ö¸ÁÓÐÁ½ÖÖѰַ·½Ê½£¬Æä¾ßÌåÐÎʽÊÇ£º__????___?ºÍ__????___?¡£ £¨3£©Ö¸ÁîINÊǽ«Êý¾Ý´Ó__????___?´«Êäµ½__????___?£¬Ö´ÐиÃÖ¸Áî´¦ÀíÆ÷Òý½Å²úÉú__????___?×ÜÏßÖÜÆÚ¡£ £¨4£©Ö¸Áî¡°IN AL, 21H¡±µÄÄ¿µÄ²Ù×÷ÊýÊÇ__????___?Ѱַ·½Ê½£¬Ô´²Ù×÷ÊýÊÇ__????___?Ѱַ·½Ê½¡£ £¨5£©Ö¸Áî¡°OUT DX, EAX¡±µÄÄ¿µÄ²Ù×÷ÊýÊÇ__????___?Ѱַ·½Ê½£¬Ô´²Ù×÷ÊýÊÇ__????___?Ѱַ·½Ê½¡£ £¨6£©DMAµÄÒâ˼ÊÇ__????___?£¬Ö÷ÒªÓÃÓÚ¸ßËÙÍâÉèºÍÖ÷´æ¼äµÄÊý¾Ý´«ËÍ¡£½øÐÐDMA´«Ë͵ÄÒ»°ã¹ý³ÌÊÇ£ºÍâÉèÏÈÏòDMA¿ØÖÆÆ÷Ìá³ö__????___?£¬DMA¿ØÖÆÆ÷ͨ¹ý__????___?ÐźÅÓÐЧÏò´¦ÀíÆ÷Ìá³ö×ÜÏßÇëÇ󣬴¦ÀíÆ÷»ØÒÔ__????___?ÐźÅÓÐЧ±íʾÏìÓ¦¡£´Ëʱ´¦ÀíÆ÷µÄÈý̬ÐźÅÏß½«Êä³ö__????___?״̬£¬¼´½«ËüÃǽ»ÓÉ__????___?½øÐпØÖÆ£¬Íê³ÉÍâÉèºÍÖ÷´æ¼äµÄÖ±½ÓÊý¾Ý´«ËÍ¡£ £¨7£©ÔÚIA-32´¦ÀíÆ÷ÖÐ0ºÅÖжϱ»³ÆÎª__????___?Öжϣ¬Íⲿ·ÇÆÁ±ÎÖжÏÊÇ__????___?ºÅÖжϡ£ £¨8£©IA-32´¦ÀíÆ÷ÔÚ¿ªÖжÏ״̬£¬Æä±êÖ¾IF£½__????___?¡£Ö¸Áî__????___?ÊÇ¿ªÖжÏÖ¸Á¶ø¹ØÖжÏÖ¸ÁîÊÇ__????___?£¬¹ØÖжÏʱIF£½__????___?¡£ £¨9£©ÊµµØÖ··½Ê½Ï£¬Ö÷´æ×îµÍ__????___?µÄ´æ´¢¿Õ¼äÓÃÓÚÖжÏÏòÁ¿±í¡£ÏòÁ¿ºÅ8µÄÖжÏÏòÁ¿±£´æÔÚÎïÀíµØÖ·__????___?¿ªÊ¼µÄ__????___?¸öÁ¬Ðø×ֽڿռ䣻Èç¹ûÆäÄÚÈݴӵ͵ØÖ·¿ªÊ¼ÒÀ´ÎÊÇ00H¡¢23H¡¢10H¡¢F0H£¬ÔòÆäÖжϷþÎñ³ÌÐòµÄÊ×µØÖ·ÊÇ__????___?¡£ £¨10£©Ä³Ê±¿ÌÖжϿØÖÆÆ÷8259AµÄIRRÄÚÈÝÊÇ08H£¬ËµÃ÷Æä__????___?Òý½ÅÓÐÖжÏÇëÇó¡£Ä³Ê±¿ÌÖжϿØÖÆÆ÷8259AµÄISRÄÚÈÝÊÇ08H£¬ËµÃ÷__????___?ÖжÏÕýÔÚ±»·þÎñ¡£ ¡²½â´ð¡³ ¢Ù Êý×ÖÁ¿¡¢¿ª¹ØÁ¿¡¢Âö³åÁ¿ ¢Ú I/O¶ÀÁ¢£¬ÊäÈëÊä³ö£¨I/O£©Ö¸Áֱ½ÓѰַ£¬DX¼Ä´æÆ÷¼ä½ÓѰַ ¢Û I/O¶Ë¿Ú£¨½Ó¿Ú£¬ÍâÉ裩£¬´¦ÀíÆ÷£¨Ö÷»ú£©£¬I/O¶Á ¢Ü ¼Ä´æÆ÷£¬I/OµØÖ·µÄÖ±½ÓѰַ ¢Ý I/OµØÖ·µÄ¼ä½ÓѰַ£¬¼Ä´æÆ÷ ¢Þ Ö±½Ó´æ´¢Æ÷´æÈ¡£¬DMAÇëÇó£¬×ÜÏßÇëÇó£¬×ÜÏßÏìÓ¦£¬¸ß×裬DMAC£¨DMA¿ØÖÆÆ÷£© ¢ß ³ý·¨´í£¬2 ¢à 1£¬STI£¬CLI£¬0 ¢á 1KB£¬20H£¬4£¬F010H¡Ã2300H £ £39 ¢â IR3£¬IR3ÇëÇóµÄ ¡²Ï°Ìâ7.4¡³Ò»°ãµÄI/O½Ó¿Úµç·°²ÅÅÓÐÄÄÈýÀà¼Ä´æÆ÷£¿ËüÃǸ÷×ÔµÄ×÷ÓÃÊÇʲô£¿ ¡²½â´ð¡³ ¢Ù Êý¾Ý¼Ä´æÆ÷ ±£´æ´¦ÀíÆ÷ÓëÍâÉèÖ®¼ä½»»»µÄÊý¾Ý¡£ ¢Ú ״̬¼Ä´æÆ÷ ±£´æÍâÉ赱ǰµÄ¹¤×÷״̬ÐÅÏ¢¡£´¦ÀíÆ÷ͨ¹ý¸Ã¼Ä´æÆ÷ÕÆÎÕÍâÉè״̬£¬½øÐÐÊý¾Ý½»»»¡£ ¢Û ¿ØÖƼĴæÆ÷ ±£´æ´¦ÀíÆ÷¿ØÖƽӿڵç·ºÍÍâÉè²Ù×÷µÄÓйØÐÅÏ¢¡£´¦ÀíÆ÷Ïò¿ØÖƼĴæÆ÷дÈë¿ØÖÆÐÅÏ¢£¬Ñ¡Ôñ½Ó¿Úµç·µÄ²»Í¬¹¤×÷·½Ê½ºÍÓëÍâÉè½»»»Êý¾ÝÐÎʽ¡£ ¡²Ï°Ìâ7.5¡³Ê²Ã´ÊÇI/O¶ÀÁ¢±àÖ·ºÍͳһ±àÖ·£¬¸÷ÓÐÊ²Ã´ÌØµã£¿ ¡²½â´ð¡³ ¶ÀÁ¢±àÖ·Êǽ«I/O¶Ë¿Úµ¥¶À±àÅŵØÖ·£¬¶ÀÁ¢ÓÚ´æ´¢Æ÷µØÖ·¡£ ͳһ±àÖ·Êǽ«I/O¶Ë¿ÚÓë´æ´¢Æ÷µØÖ·Í³Ò»±àÅÅ£¬¹²ÏíÒ»¸öµØÖ·¿Õ¼ä¡£ ¶Ë¿Ú¶ÀÁ¢±àÖ··½Ê½£¬´¦ÀíÆ÷³ýÒª¾ßÓд洢Æ÷·ÃÎʵÄÖ¸ÁîºÍÒý½ÅÍ⣬»¹ÐèÒªÉè¼ÆI/O·ÃÎʵÄI/OÖ¸ÁîºÍI/OÒý½Å£¬ÆäÓŵãÊÇ£º²»Õ¼Óô洢Æ÷¿Õ¼ä£»I/OÖ¸Áîʹ³ÌÐòÖÐI/O²Ù×÷һĿÁËÈ»£»½ÏСµÄI/OµØÖ·¿Õ¼äʹµØÖ·ÒëÂë¼òµ¥¡£µ«I/OÖ¸ÁÄܼòµ¥£¬Ñ°Ö··½Ê½Ã»Óд洢Æ÷Ö¸Áî·á¸»¡£ ͳһ±àÖ··½Ê½£¬´¦ÀíÆ÷²»ÔÙÇø·ÖI/O¿Ú·ÃÎʺʹ洢Æ÷·ÃÎÊ¡£ÆäÓŵãÊÇ£º´¦ÀíÆ÷²»ÓÃÉè¼ÆI/OÖ¸ÁîºÍÒý½Å£¬·á¸»µÄ´æ´¢Æ÷·ÃÎÊ·½·¨Í¬ÑùÄܹ»ÔËÓÃÓÚI/O·ÃÎÊ¡£È±µãÊÇ£ºI/O¶Ë¿Ú»áÕ¼Óô洢Æ÷µÄ²¿·ÖµØÖ·¿Õ¼ä£¬Í¨¹ýÖ¸Áî²»Ò×±æÈÏI/O²Ù×÷¡£ ¡²Ï°Ìâ7.6¡³¼òÊöÖ÷»úÓëÍâÉè½øÐÐÊý¾Ý½»»»µÄ¼¸ÖÖ³£Ó÷½Ê½¡£ ¡²½â´ð¡³ Ö÷»úÓëÍâÉè½øÐÐÊý¾Ý½»»»µÄ¼¸ÖÖ³£Ó÷½Ê½£º ¢Ù ÎÞÌõ¼þ´«ËÍ·½Ê½£¬³£ÓÃÓÚ¼òµ¥É豸£¬´¦ÀíÆ÷ÈÏΪËüÃÇ×ÜÊÇ´¦ÓÚ¾ÍÐ÷״̬£¬ËæÊ±½øÐÐÊý¾Ý´«ËÍ¡£ ¢Ú ³ÌÐò²éѯ·½Ê½£º´¦ÀíÆ÷Ê×ÏȲéѯÍâÉ蹤×÷״̬£¬ÔÚÍâÉè¾ÍÐ÷ʱ½øÐÐÊý¾Ý´«ËÍ¡£ ¢Û ÖжϷ½Ê½£ºÍâÉèÔÚ×¼±¸¾ÍÐ÷µÄÌõ¼þÏÂͨ¹ýÇëÇóÒý½ÅÐźţ¬Ö÷¶¯Ïò´¦ÀíÆ÷Ìá³ö½»»»Êý¾ÝµÄÇëÇó¡£´¦ÀíÆ÷ÎÞÆäËû¸ü½ôÆÈÈÎÎñ£¬ÔòÖ´ÐÐÖжϷþÎñ³ÌÐòÍê³ÉÒ»´ÎÊý¾Ý´«ËÍ¡£ ¢Ü DMA´«ËÍ£º DMA¿ØÖÆÆ÷¿É½Ó¹Ü×ÜÏߣ¬×÷Ϊ×ÜÏßµÄÖ÷¿ØÉ豸£¬Í¨¹ýϵͳ×ÜÏßÀ´¿ØÖÆ´æ´¢Æ÷ºÍÍâÉèÖ±½Ó½øÐÐÊý¾Ý½»»»¡£´ËÖÖ·½Ê½ÊÊÓÃÓÚÐèÒª´óÁ¿Êý¾Ý¸ßËÙ´«Ë͵ij¡ºÏ¡£ ¡²Ï°Ìâ7.7¡³²Î¿´Í¼7-5£¬±à³ÌʵÏÖÒÔϹ¦ÄÜ£ºµ±K0¼üµ¥¶À°´ÏÂʱ£¬·¢¹â¶þ¼«¹ÜL0¡«L7½«ÒÀ´ÎµãÁÁ£¨L0£¬L1£¬L2£¬??L7£©£¬Ã¿¸öά³Ö200ms£»µ±K1¼üµ¥¶À°´ÏÂʱ£¬·¢¹â¶þ¼«¹ÜL0¡«L7½«·´ÏòÒÀ´ÎµãÁÁ£¨L7£¬L6£¬L5£¬??L0£©£¬Ã¿¸öҲά³Ö200ms£»ÔÚÆäËûÇé¿öϸ÷·¢¹â¶þ¼«¹Ü¾ù²»µãÁÁ¡£¼Ù¶¨ÓÐÑÓʱ200msµÄ×Ó³ÌÐòDELAY¿ÉÖ±½Óµ÷Óᣠ¡²½â´ð¡³ again: next1: next11: next2: next21: mov dx,8000h in al,dx cmp al,0feh jz next1 cmp al,0fdh jz next2 jmp again mov cx,8 mov al,1 out dx,al call delay shl al,1 loop next11 jmp again mov cx,8 mov al,80h out dx,al call delay shr al,1 loop next21 jmp again ; D7¡«D0£½11111110B £¿ ; µ¥¶À°´ÏÂK0£¬×ªÒƵ½next1 ; D7¡«D0£½11111101B £¿ ; µ¥¶À°´ÏÂK1£¬×ªÒƵ½next2 ; ÆäËüÇé¿ö²»µãÁÁ ; ´ÓK0¿ªÊ¼ ; ij¸öLEDµçÁÁ ; ÑÓʱ200ms ; rol al,1 ; ´ÓK7¿ªÊ¼ ; ij¸öLEDµçÁÁ ; ÑÓʱ200ms ; ror al,1 £ £40 ¡²Ï°Ìâ7.8¡³ÏÖÓÐÒ»¸öÊäÈëÉ豸£¬ÆäÊý¾Ý¶Ë¿ÚµØÖ·ÎªFFE0H£¬×´Ì¬¶Ë¿ÚµØÖ·ÎªFFE2H¡£µ±×´Ì¬±êÖ¾D0£½1ʱ£¬±íÃ÷Ò»¸ö×Ö½ÚµÄÊäÈëÊý¾Ý¾ÍÐ÷¡£Çë±àдÀûÓòéѯ·½Ê½½øÐÐÊý¾Ý´«Ë͵ijÌÐò¶Î£¬ÒªÇó´Ó¸ÃÉ豸¶ÁÈ¡100¸ö×Ö½Ú±£´æµ½BUFFER»º³åÇø¡£ ¡²½â´ð¡³ again: status: mov bx, offset buffer mov cx,100 mov dx,0ffe2h in al,dx ; ²éѯһ´Î test al,01h jz status mov dx,0ffe0h in al,dx ; ÊäÈëÒ»¸ö×Ö½Ú mov [bx],al inc bx loop again ; Ñ»·£¬ÊäÈë100¸ö×Ö½Ú ¡²Ï°Ìâ7.9¡³ ij¸ö×Ö·ûÊä³öÉ豸£¬ÆäÊý¾Ý¶Ë¿ÚºÍ״̬¶Ë¿ÚµÄµØÖ·¾ùΪ80H¡£ÔÚ¶Áȡ״̬ʱ£¬µ±±ê־λD7£½0ʱ£¬±íÃ÷¸ÃÉ豸ÏУ¬¿ÉÒÔ½ÓÊÕÒ»¸ö ×Ö·û¡£Çë±àдÀûÓòéѯ·½Ê½½øÐÐÊý¾Ý´«Ë͵ijÌÐò¶Î£¬ÒªÇ󽫴æ·ÅÓÚ»º³åÇøADDR´¦µÄÒ»´®×Ö·û£¨ÒÔ0Ϊ½áÊø±êÖ¾£©Êä³ö¸ø¸ÃÉ豸¡£ ¡²½â´ð¡³ again: status: done: ¡²Ï°Ìâ7.10¡³ÒÔ¿ÉÆÁ±ÎÖжÏΪÀý£¬ËµÃ÷Ò»´ÎÍêÕûµÄÖжϹý³ÌÖ÷Òª°üÀ¨ÄÄЩ»·½Ú£¿ ¡²½â´ð¡³ ÖжÏÇëÇó£ºÍâÉèͨ¹ýÓ²¼þÐźŵÄÐÎʽ¡¢Ïò´¦ÀíÆ÷Òý½Å·¢ËÍÓÐЧÇëÇóÐźš£ ÖжÏÏìÓ¦£ºÔÚÂú×ãÒ»¶¨Ìõ¼þʱ£¬´¦ÀíÆ÷½øÈëÖжÏÏìÓ¦×ÜÏßÖÜÆÚ¡£ ¹ØÖжϣº´¦ÀíÆ÷ÔÚÏìÓ¦ÖжϺó»á×Ô¶¯¹Ø±ÕÖжϡ£ ¶Ïµã±£»¤£º´¦ÀíÆ÷ÔÚÏìÓ¦ÖжϺó½«×Ô¶¯±£»¤¶ÏµãµØÖ·¡£ ÖжÏԴʶ±ð£º´¦ÀíÆ÷ʶ±ð³öµ±Ç°¾¿¾¹ÊÇÄĸöÖжÏÔ´Ìá³öÁËÇëÇ󣬲¢Ã÷È·ÓëÖ®ÏàÓ¦µÄÖжϷþÎñ³ÌÐòËùÔÚÖ÷´æÎ»ÖᣠÏÖ³¡±£»¤£º¶Ô´¦ÀíÆ÷Ö´ÐгÌÐòÓÐÓ°ÏìµÄ¹¤×÷»·¾³£¨Ö÷ÒªÊǼĴæÆ÷£©½øÐб£»¤¡£ ÖжϷþÎñ£º´¦ÀíÆ÷Ö´ÐÐÏàÓ¦µÄÖжϷþÎñ³ÌÐò£¬½øÐÐÊý¾Ý´«Ë͵ȴ¦Àí¹¤×÷¡£ »Ö¸´ÏÖ³¡£ºÍê³ÉÖжϷþÎñºó£¬»Ö¸´´¦ÀíÆ÷ÔÀ´µÄ¹¤×÷»·¾³¡£ ¿ªÖжϣº´¦ÀíÆ÷ÔÊÐíÐÂµÄ¿ÉÆÁ±ÎÖжϡ£ ÖжϷµ»Ø£º´¦ÀíÆ÷Ö´ÐÐÖжϷµ»ØÖ¸Á³ÌÐò·µ»Ø¶Ïµã¼ÌÐøÖ´ÐÐÔÀ´µÄ³ÌÐò¡£ ¡²Ï°Ìâ7.11¡³Ê²Ã´ÊÇÖжÏÔ´£¿ÎªÊ²Ã´Òª°²ÅÅÖжÏÓÅÏȼ¶£¿Ê²Ã´ÊÇÖжÏǶÌ×£¿Ê²Ã´Çé¿öϳÌÐò»á·¢ÉúÖжÏǶÌ×£¿ ¡²½â´ð¡³ ¼ÆËã»úϵͳÖУ¬·²ÊÇÄÜÒýÆðÖжϵÄʼþ»òÔÒò£¬±»³ÆÎªÖжÏÔ´¡£ ´¦ÀíÆ÷ËæÊ±¿ÉÄÜ»áÊÕµ½¶à¸öÖжÏÔ´Ìá³öµÄÖжÏÇëÇó£¬Òò´Ë£¬ÎªÃ¿¸öÖжÏÔ´·ÖÅäÒ»¼¶ÖжÏÓÅÏÈȨ£¬¸ù¾ÝËüÃǵĸߵÍ˳Ðò¾ö¶¨ÏìÓ¦µÄÏÈºó¡£ Ò»¸öÖжϴ¦Àí¹ý³ÌÖÐÓÖÓÐÒ»¸öÖжÏÇëÇó¡¢²¢±»ÏìÓ¦´¦Àí£¬±»³ÆÎªÖжÏǶÌס£ ±ØÐëÔÚÖжϷþÎñ³ÌÐòÖдò¿ªÖжϣ¬³ÌÐò²Å»á·¢ÉúÖжÏǶÌס£ ¡²Ï°Ìâ7.12¡³Ã÷È·ÈçÏÂÖжÏÓйصĸÅÄÖжÏÔ´¡¢ÖжÏÇëÇó¡¢ÖжÏÏìÓ¦¡¢¹ØÖжϡ¢¿ªÖжϡ¢ÖжϷµ»Ø¡¢ÖжÏʶ±ð¡¢ÖжÏÓÅÏÈȨ¡¢ÖжÏǶÌס¢Öжϴ¦Àí¡¢ÖжϷþÎñ¡£ ¡²½â´ð¡³ ÖжÏÔ´£ºÄÜÒýÆðÖжϵÄʼþ»òÔÒò¡£ mov bx,offset addr cmp byte ptr [bx],0 jz done in al,80h ; ²éѯ test al,80h jnz status mov al,[bx] out 80h,al ; Êä³öÒ»¸ö×Ö½Ú inc bx jmp again ; Ñ»· £ £41 ÖжÏÇëÇó£ºÊÇÍâÉèͨ¹ýÓ²¼þÐźŵÄÐÎʽ¡¢Ïò´¦ÀíÆ÷Òý½Å·¢ËÍÓÐЧÇëÇóÐźš£ ÖжÏÏìÓ¦£ºÖжÏÏìÓ¦ÊÇÔÚÂú×ãÒ»¶¨Ìõ¼þʱ£¬´¦ÀíÆ÷½øÈëÖжÏÏìÓ¦×ÜÏßÖÜÆÚ¡£ ¹ØÖжϣº½ûÖ¹´¦ÀíÆ÷ÏìÓ¦¿ÉÆÁ±ÎÖжϡ£ ¿ªÖжϣºÔÊÐí´¦ÀíÆ÷ÏìÓ¦¿ÉÆÁ±ÎÖжϡ£ ÖжϷµ»Ø£º´¦ÀíÆ÷Ö´ÐÐÖжϷµ»ØÖ¸Á½«¶ÏµãµØÖ·´Ó¶ÑÕ»Öе¯³ö£¬³ÌÐò·µ»Ø¶Ïµã¼ÌÐøÖ´ÐÐÔÀ´µÄ³ÌÐò¡£ ÖжÏʶ±ð£º´¦ÀíÆ÷ʶ±ð³öµ±Ç°¾¿¾¹ÊÇÄĸöÖжÏÔ´Ìá³öÁËÇëÇ󣬲¢Ã÷È·ÓëÖ®ÏàÓ¦µÄÖжϷþÎñ³ÌÐòËùÔÚÖ÷´æÎ»ÖᣠÖжÏÓÅÏÈȨ£ºÎªÃ¿¸öÖжÏÔ´·ÖÅäÒ»¼¶ÖжÏÓÅÏÈȨ£¬¼´ÏµÍ³Éè¼ÆÕßÊÂÏÈΪÿ¸öÖжÏÔ´È·¶¨´¦ÀíÆ÷ÏìÓ¦ËûÃǵÄÏȺó˳Ðò¡£ ÖжÏǶÌ×£ºÔÚÒ»¸öÖжϴ¦Àí¹ý³ÌÖÐÓÖÓÐÒ»¸öÖжÏÇëÇó±»ÏìÓ¦´¦Àí£¬³ÆÎªÖжÏǶÌס£ Öжϴ¦Àí£º½Óµ½ÖжÏÇëÇóÐźźó£¬ËæÖ®²úÉúµÄÕû¸ö¹¤×÷¹ý³Ì£¬³ÆÖжϴ¦Àí¡£ ÖжϷþÎñ£ºÖ¸´¦ÀíÆ÷Ö´ÐÐÏàÓ¦µÄÖжϷþÎñ³ÌÐò£¬½øÐÐÊý¾Ý´«Ë͵ȴ¦Àí¹¤×÷¡£ ¡²Ï°Ìâ7.13¡³°´ÕÕͼ7-10ËùʾµÄÖжϲéѯ½Ó¿ÚÓëÏàÓ¦µÄÁ÷³Ìͼ£¬±àдÓÃÓÚÖжϷþÎñµÄ³ÌÐò¶Î¡£¾ßÌåÒªÇóÊÇ£¬µ±³ÌÐò²éµ½ÖжÏÉ豸0ÓÐÖжÏÇëÇ󣨶ÔÓ¦Êý¾ÝÏßD0£©£¬Ëü½«µ÷ÓÃÃûΪPROC0µÄ×Ó³ÌÐò£»Èç´Ë£¬ÒÀ´ÎÈ¥²éÖжÏÉ豸1¡«ÖжÏÉ豸3£¬²¢·Ö±ðµ÷ÓÃÃûΪPROC1¡«PROC3µÄ×Ó³ÌÐò¡£ ¡²½â´ð¡³ sti push ax push dx ¡ mov dx,4000h status: in al,dx test al,01h jnz service0 test al,02h jnz service1 test al,04h jnz service2 test al,08h jnz service3 ¡ service0: call proc0 jmp done service1: call proc1 jmp done service2: call proc2 jmp done service3: call proc3 jmp done ¡¡ done: pop dx pop ax iret ¡²Ï°Ìâ7.14¡³Ê²Ã´ÊÇDMA¶ÁºÍDMAд£¿Ê²Ã´ÊÇDMA¿ØÖÆÆ÷8237AµÄµ¥×Ö½Ú´«ËÍ¡¢Êý¾Ý¿é´«ËͺÍÇëÇó´«ËÍ£¿ ¡²½â´ð¡³ DMA¶Á£º´æ´¢Æ÷µÄÊý¾ÝÔÚDMA¿ØÖÆÆ÷¿ØÖÆÏ±»¶Á³ö´«Ë͸øÍâÉè¡£ DMAд£ºÍâÉèµÄÊý¾ÝÔÚDMA¿ØÖÆÆ÷¿ØÖÆÏ±»Ð´Èë´æ´¢Æ÷¡£ µ¥×Ö½Ú´«ËÍ·½Ê½£ºÃ¿´ÎDMA´«ËÍʱ½ö´«ËÍÒ»¸ö×Ö½Ú¡£´«ËÍÒ»¸ö×Ö½ÚÖ®ºó£¬DMA¿ØÖÆÆ÷ÊÍ·Åϵͳ×ÜÏߣ¬½«¿ØÖÆÈ¨»¹¸ø´¦ÀíÆ÷¡£ Êý¾Ý¿é´«ËÍ£º DMA´«ËÍÆô¶¯ºó¾ÍÁ¬ÐøµØ´«ËÍÊý¾Ý£¬Ö±µ½¹æ¶¨µÄ×Ö½ÚÊý´«ËÍÍê¡£ ÇëÇó´«ËÍ£ºDMA´«ËÍÓÉÇëÇóÐźſØÖÆ¡£Èç¹ûÇëÇóÐźÅÒ»Ö±ÓÐЧ£¬¾ÍÁ¬Ðø´«ËÍÊý¾Ý£»µ«µ±ÇëÇóÐźÅÎÞЧʱ£¬DMA´«Ëͱ»ÔÝʱÖÐÖ¹¡£ ¡²Ï°Ìâ7.15¡³IA-32´¦ÀíÆ÷ºÎʱ´¦ÓÚ¿ªÖжÏ״̬¡¢ºÎʱ´¦ÓÚ¹ØÖжÏ״̬£¿ ¡²½â´ð¡³ ÔÚIA-32´¦ÀíÆ÷ÖУ¬ÈôIF£½1£¬Ôò´¦ÀíÆ÷´¦ÓÚ¿ªÖжÏ״̬¡£ ÈôIF£½0£¬Ôò´¦ÀíÆ÷´¦ÓÚ¹ØÖжÏ״̬¡£IF£½0¹ØÖжϵÄÇé¿öÓУºÏµÍ³¸´Î»ºó£¬ÈκÎÒ»¸öÖжϣ¨°üÀ¨ÍⲿÖжϺÍÄÚ²¿Öжϣ©±»ÏìÓ¦ºó£¬Ö´ÐйØÖжÏÖ¸ÁîCLIºó¡£ £ £42 ¡²Ï°Ìâ7.16¡³¼òÊöIA-32´¦ÀíÆ÷µÄÖжϹ¤×÷¹ý³Ì¡£ ¡²½â´ð¡³ IA-32´¦ÀíÆ÷»ñµÃÏòÁ¿ºÅʶ±ð³öÖжÏÔ´ºó£¬ÖжϻòÒì³£½Ó×ŵŤ×÷¹ý³ÌÈçÏ£º £¨1£©½«±êÖ¾¼Ä´æÆ÷EFLAGSѹÈë¶ÑÕ»£¬±£»¤¸÷¸ö±ê־λ£»½«±»ÖжÏÖ¸ÁîµÄÂß¼µØÖ·£¨´úÂë¶Î¼Ä´æÆ÷ºÍÖ¸ÁîÖ¸Õë¼Ä´æÆ÷ÄÚÈÝ£©Ñ¹Èë¶ÑÕ»£¬±£»¤¶Ïµã¡£ £¨2£©Èç¹ûÓдíÎó´úÂ룬½«ÆäѹÈë¶ÑÕ»£¨ÓÐЩÒì³£²úÉú´íÎó´úÂ룬¸ü¾ßÌ嵨±íÃ÷²úÉúÒì³£µÄÔÒò£©¡£ÊµµØÖ··½Ê½µÄÒì³£²»·µ»Ø´íÎó´úÂë¡£ £¨3£©¸ù¾ÝÏòÁ¿ºÅ»ñµÃÖжϷþÎñ³ÌÐò£¨ÖжϻòÒì³£µÄ´¦Àí³ÌÐò£©µÄ¶ÎÑ¡ÔñÆ÷ºÍÖ¸ÁîÖ¸Õ룬·Ö±ð´«Ë͸ø´úÂë¶Î¼Ä´æÆ÷CSºÍÖ¸ÁîÖ¸Õë¼Ä´æÆ÷EIP¡£ £¨4£©¶ÔÓÚÖжϣ¬ÒªÉèÖÃÖжÏÔÊÐí±êÖ¾IFΪ0£¬¼´½ûÖ¹½øÒ»²½µÄ¿ÉÆÁ±ÎÖжϡ£ £¨5£©¿ØÖÆ×ªÒÆÖÁÖжϷþÎñ³ÌÐòÈë¿ÚµØÖ·£¨Ê×µØÖ·£©£¬¿ªÊ¼Ö´ÐÐÖжϻòÒì³£´¦Àí³ÌÐò¡£ ÖжϷþÎñ³ÌÐò×îºóÊÇÖжϷµ»ØÖ¸ÁîIRET¡£ÖжϷµ»ØÖ¸ÁîIRET½«¶ÏµãµØÖ·ºÍ±êÖ¾¼Ä´æÆ÷³öÕ»»Ö¸´£¬Èç¹ûѹÈëÁË´íÎó´úÂ뻹ÐèÒªÏàÓ¦ÔöÁ¿¶ÑÕ»Ö¸Õ룬ÓÚÊÇ¿ØÖÆÓÖ·µ»Øµ½¶ÏµãÖ¸Áî¼ÌÐøÖ´ÐС£ ¡²Ï°Ìâ7.17¡³IA-32´¦ÀíÆ÷µÄÖжÏÏòÁ¿±íºÍÖжÏÃèÊö·û±íµÄ×÷ÓÃÊÇʲô£¿ ¡²½â´ð¡³ IA-32´¦ÀíÆ÷µÄÖжÏÏòÁ¿±íºÍÖжÏÃèÊö·û±íµÄ×÷Óö¼ÊÇ»ñÈ¡ÖжϷþÎñ³ÌÐòµÄÈë¿ÚµØÖ·£¨³ÆÎªÖжÏÏòÁ¿£©£¬½ø¶ø¿ØÖÆ×ªÒƵ½ÖжϷþÎñ³ÌÐòÖС£ ¡²Ï°Ìâ7.18¡³ËµÃ÷ÈçϳÌÐò¶ÎµÄ¹¦ÄÜ£º cli mov ax,0 mov es,ax mov di,80h*4 mov ax,offset intproc cld mov es:[di],ax mov ax,seg intproc mov es:[di+2],ax sti ; intprocÊÇÒ»¸ö¹ý³ÌÃû ¡²½â´ð¡³ ÉèÖÃ80HºÅÖжÏÏòÁ¿¡£ ¡²Ï°Ìâ7.19¡³ÖжϿØÖÆÆ÷8259AÖÐIRR£¬IMRºÍISRÈý¸ö¼Ä´æÆ÷µÄ×÷ÓÃÊÇʲô£¿ ¡²½â´ð¡³ ÖжÏÇëÇó¼Ä´æÆ÷IRR£º±£´æ8ÌõÍâ½çÖжÏÇëÇóÐźÅIR0¡«IR7µÄÇëÇó״̬¡£DiλΪ1±íʾIRiÒý½ÅÓÐÖжÏÇëÇó£»Îª0±íʾ¸ÃÒý½ÅÎÞÇëÇó¡£ ÖÐ¶ÏÆÁ±Î¼Ä´æÆ÷IMR£º±£´æ¶ÔÖжÏÇëÇóÐźÅIRµÄÆÁ±Î״̬¡£DiλΪ1±íʾIRiÖжϱ»ÆÁ±Î£¨½ûÖ¹£©£»Îª0±íʾÔÊÐí¸ÃÖжϡ£ ÖжϷþÎñ¼Ä´æÆ÷ISR£º±£´æÕýÔÚ±»8259A·þÎñ×ŵÄÖжÏ״̬¡£DiλΪ1±íʾIRiÖжÏÕýÔÚ·þÎñÖУ»Îª0±íʾûÓб»·þÎñ¡£ ¡²Ï°Ìâ7.20¡³ÏÂÃæÊÇIBM PC/XT»úROM-BIOSÖеÄ08ºÅÖжϷþÎñ³ÌÐò£¬Çë˵Ã÷¸÷¸öÖ¸ÁîµÄ×÷Óᣠint08h proc sti push ds push ax push dx ?? ; ÈÕʱÖÓ¼ÆÊ± ?? ; ¿ØÖÆÈíÇýÂí´ï int 1ch mov al,20h out 20h,al pop ax pop dx pop ds iret £ £43 int08h ¡²½â´ð¡³ int08h int08h endp proc far sti push ds push ax push dx ?? ?? int 1ch mov al,20h out 20h,al pop ax pop dx pop ds iret endp ; Ô¶¹ý³Ì ; ¿ªÖÐ¶Ï ; ±£»¤ÏÖ³¡ ; ÈÕʱÖÓ¼ÆÊ± ; ¿ØÖÆÈíÇýÂí´ï ; µ÷ÓÃ1CHºÅÖÐ¶Ï ; ·¢ËÍEOIÖжϽáÊøÃüÁî ; »Ö¸´ÏÖ³¡ ; ÖжϷµ»Ø ¡²Ï°Ìâ7.21¡³±àдһ¸ö³ÌÐò£¬½«ÀýÌâ7-5µÄINT 80HÄÚ²¿ÖжϷþÎñ³ÌÐòפÁôÄڴ档ȻºóÔÚµ÷ÊÔ³ÌÐòÖлòÆäËû³ÌÐòÖÐÖ´ÐÐINT 80H£¬¿´ÄÜ·ñʵÏÖÆäÏÔʾ¹¦ÄÜ¡£ ¡²½â´ð¡³ new80h new1: new2: intmsg new80h start: tsrmsg ; ´úÂë¶Î jmp start ; 80HÄÚ²¿ÖжϷþÎñ³ÌÐò£ºÏÔʾ×Ö·û´®£¨ÒÔ0½á⣩£»DS¡ÃDX£½»º³åÇøÊ×µØÖ· proc ; ¹ý³Ì¶¨Òå sti ; ¿ªÖÐ¶Ï push ax ; ±£»¤¼Ä´æÆ÷ push bx push si mov si,offset intmsg mov al,cs:[si] ; »ñÈ¡ÓûÏÔʾ×Ö·û cmp al,0 ; Ϊ¡°0¡±½áÊø jz new2 mov bx,0 ; ²ÉÓÃROM-BIOSµ÷ÓÃÏÔʾһ¸ö×Ö·û mov ah,0eh int 10h inc si ; ÏÔʾÏÂÒ»¸ö×Ö·û jmp new1 pop si ; »Ö¸´¼Ä´æÆ÷ pop bx pop ax iret ; ÖжϷµ»Ø db 'A Instruction Interrupt !',0dh,0ah,0 ; ×Ö·û´®£¨ÒÔ0½á⣩ endp ; ÖжϷþÎñ³ÌÐò½áÊø ; Ö÷³ÌÐò mov ax,cs mov ds,ax ; ÉèÖÃ04HÖжÏÏòÁ¿ mov dx,offset new80h cli mov ax,2580h int 21h sti mov eax,offset tsrmsg ; ÏÔʾ°²×°ÐÅÏ¢ call dispmsg mov dx,offset start ; ¼ÆËãפÁôÄÚ´æ³ÌÐòµÄ³¤¶È add dx,15 shr dx,4 ; µ÷ÕûΪÒÔ¡°½Ú¡±£¨16¸ö×Ö½Ú£©Îªµ¥Î» mov ax,3100h ; ³ÌÐòפÁô£¬·µ»ØDOS int 21h db 'INT 80H Program Installed ! ',0dh,0ah,0 £ £44 ¡²Ï°Ìâ7.22¡³Íê³ÉÀýÌâ7-2ÏÔʾµ±Ç°ÈÕÆÚͬÑùµÄ¹¦ÄÜ£¬Çë»ñµÃÈÕÆÚÊý¾Ýºóת»»³ÉASCIIÂ룬±£´æÔÚ»º³åÇø¡¢ÀûÓÃDISPMSG×Ó³ÌÐòÏÔʾ¡£ ¡²½â´ð¡³ ; ex0722.asm in DOS include io16.inc .data date byte 'Today is 20xx-yy-zz',0 .code start: mov ebx,11 mov al,9 ; AL£½9£¨×¼±¸´Ó9ºÅµ¥Ôª»ñÈ¡Äê´úÊý¾Ý£© out 70h,al ; ´Ó70HµÄI/OµØÖ·Êä³ö£¬Ñ¡ÔñCMOS RAMµÄ9ºÅµ¥Ôª in al,71h ; ´Ó71HµÄI/OµØÖ·ÊäÈ룬»ñÈ¡9ºÅµ¥ÔªµÄÄÚÈÝ£¬±£´æÔÚAL mov dl,al shr al,4 ; ת»»¸ßλBCDÂëΪASCIIÂë add al,30h mov date[ebx],al ; ±£´æµ½»º³åÇø add ebx,1 and dl,0fh ; ת»»µÍλBCDÂëΪASCIIÂë add dl,30h mov date[ebx],dl ; ±£´æµ½»º³å add ebx,2 mov al,8 ; AL£½8£¨´Ó8ºÅµ¥Ôª»ñȡԷÝÊý¾Ý£© out 70h,al in al,71h mov dl,al shr al,4 ; ת»»¸ßλBCDÂëΪASCIIÂë add al,30h mov date[ebx],al ; ±£´æµ½»º³åÇø add ebx,1 and dl,0fh ; ת»»µÍλBCDÂëΪASCIIÂë add dl,30h mov date[ebx],dl ; ±£´æµ½»º³å add ebx,2 mov al,7 ; AL£½7£¨´Ó7ºÅµ¥Ôª»ñÈ¡ÈÕÆÚÊý¾Ý£© out 70h,al in al,71h mov dl,al shr al,4 ; ת»»¸ßλBCDÂëΪASCIIÂë add al,30h mov date[ebx],al ; ±£´æµ½»º³åÇø add ebx,1 and dl,0fh ; ת»»µÍλBCDÂëΪASCIIÂë add dl,30h mov date[ebx],dl ; ±£´æµ½»º³å mov eax,offset date ; ÏÔʾ call dispmsg exit 0 end start µÚ8Õ ³£Óýӿڼ¼Êõ ¡²Ï°Ìâ8.1¡³¼ò´ðÌâ £¨1£©ÎªÊ²Ã´³Æ8253/8254µÄ¹¤×÷·½Ê½1Ϊ¿É±à³Ìµ¥ÎÈÂö³å¹¤×÷·½Ê½£¿ £¨2£©ÎªÊ²Ã´Ð´Èë8253/8254µÄ¼ÆÊý³õֵΪ0È´´ú±í×î´óµÄ¼ÆÊýÖµ£¿ £ £45 £¨3£©´¦ÀíÆ÷ͨ¹ý8255µÄ¿ØÖƶ˿ڿÉÒÔдÈ뷽ʽ¿ØÖÆ×ÖºÍλ¿ØÖÆ×Ö£¬8255ÈçºÎÇø±ðÕâÁ½¸ö¿ØÖÆ×ÖÄØ£¿ £¨4£©¡°8255¾ßÓÐËø´æÊä³öÊý¾ÝµÄÄÜÁ¦¡±ÊÇʲôÒâ˼£¿ £¨5£©Modem£¨Ï·³Æ¡°Ã¨¡±£©ÊÇÒ»¸öʲô×÷ÓÃµÄÆ÷¼þ£¿ £¨6£©RS-232C±ê׼ʹÓÃ25ÕëÁ¬½ÓÆ÷£¬ÎªÊ²Ã´PC»úÉϳ£¼ûµÄÊÇ9ÕëÁ¬½ÓÆ÷£¿ £¨7£©Ê²Ã´ÊÇRS-232CµÄÁãµ÷ÖÆ½âµ÷Æ÷Á¬½Ó·½Ê½£¿ £¨8£©UARTÆ÷¼þµÄÖ÷Òª¹¦ÄÜÊÇʲô£¿ £¨9£©¶à·¿ª¹ØÔÚÄ£ÄâÊäÈëÊä³öϵͳÖÐÆðʲô×÷Óã¿ £¨10£©´¦ÀíÆ÷ΪʲôÐèҪͨ¹ýËø´æÆ÷ÓëÊý×Ö/Ä£Äâת»»Æ÷Á¬½Ó£¿ ¡²½â´ð¡³ ¢Ù ·½Ê½1¿ÉÒÔͨ¹ý±à³Ì²úÉúÒ»¸öÈ·¶¨¿í¶ÈµÄµ¥ÎÈÂö³å£¬¹Ê³Æ¹¤×÷·½Ê½1Ϊ¿É±à³Ìµ¥ÎÈÂö³å¹¤×÷·½Ê½¡£ ¢Ú ÒòΪ¼ÆÊýÆ÷ÊÇÏȼõ1£¬ÔÙÅжÏÊÇ·ñΪ0£¬ËùÒÔдÈë0ʵ¼Ê´ú±í×î´ó¼ÆÊýÖµ¡£ ¢Û ͨ¹ý¿ØÖÆ×ÖµÄD7λÀ´Çø±ð£ºD7£½1£¬¸Ã¿ØÖÆ×ÖΪ·½Ê½¿ØÖÆ×Ö£»·ñÔòΪλ¿ØÖÆ×Ö¡£ ¢Ü 8255µÄÈýÖÖ¹¤×÷·½Ê½¾ù¿ÉʵÏÖÊä³öÊý¾ÝËø´æ£¬¼´Êý¾ÝÊä³öºó±»±£´æÔÚ8255ÄÚ²¿£¬¿ÉÒÔ¶ÁÈ¡³öÀ´£¬Ö»Óе±8255ÔÙÊä³öÐÂÒ»×éÊý¾Ýʱ²Å¸Ä±ä¡£ ¢Ý Modem£¬³ÆÎªµ÷ÖÆ½âµ÷Æ÷£¬½«Êý×ÖÐźÅת»»ÎªÊʺÏÔڵ绰Ïß·ÉÏ´«Ë͵ÄÄ£ÄâÐźţ¨µ÷ÖÆ£©ÒÔ¼°½«µç»°Ïß·µÄÄ£ÄâÐźÅת»»ÎªÊý×ÖÐźţ¨½âµ÷£©¡£ ¢Þ Òò¾ø´ó¶àÊýÉ豸ֻʹÓÃRS-232C±ê×¼µÄÆäÖÐ9¸öÐźţ¬ËùÒÔPC»úÉϾÍÅäÖÃ9ÕëÁ¬½ÓÆ÷¡£ ¢ß Á½Ì¨Î¢»ú½øÐж̾àÀëͨÐÅ£¬¿ÉÒÔ²»Ê¹Óõ÷ÖÆ½âµ÷Æ÷£¬Ö±½ÓÀûÓÃ232C½Ó¿ÚÁ¬½Ó£¬±»³ÆÎªÁãµ÷ÖÆ½âµ÷Æ÷£¨Null Modem£©Á¬½Ó¡£ ¢à UART±íʾͨÓÃÒì²½½ÓÊÕ·¢ËÍÆ÷£¬Ö÷Òª¹¦ÄÜÊǽ«²¢ÐÐÊý¾Ýת»»Îª´®ÐÐÊý¾Ý·¢ËÍ£¬ÒÔ¼°ÊµÏÖ´®ÐÐÊý¾Ýת»»Îª²¢Ðд«Ë͸ø´¦ÀíÆ÷¡£ ¢á ²ÉÓöà·¿ª¹Ø£¬Í¨¹ý΢ÐÍ»ú¿ØÖÆ£¬°Ñ¶à¸öÏÖ³¡ÐźŷÖʱµØ½Óͨµ½A/Dת»»Æ÷ÉÏת»»£¬´ïµ½¹²ÓÃA/Dת»»Æ÷ÒÔ½ÚʡӲ¼þµÄÄ¿µÄ¡£ ¢â ´¦ÀíÆ÷Êä³öÊý¾Ý¶¼Ö»ÔÚÊä³öÖ¸ÁîOUTÖ´Ðеļ«¶Ìʱ¼äÄÚ³öÏÖÔÚÊý¾Ý×ÜÏßÉÏ£¬ÂýËÙµÄÍâÉè²»Äܼ°Ê±»ñÈ¡£¬ËùÒÔÖ÷»úÓëDACÖ®¼ä±ØÐëÁ¬½ÓÊý¾ÝËø´æÆ÷¡£ ¡²Ï°Ìâ8.2¡³ÅжÏÌâ £¨1£©³ÆÎª¶¨Ê±Æ÷Ò²ºÃ£¬³ÆÎª¼ÆÊýÆ÷Ò²ºÃ£¬ÆäʵËüÃǶ¼ÊDzÉÓüÆÊýµç·ʵÏֵġ£ £¨2£©¼ÆÊý¿ÉÒÔ´Ó0¿ªÊ¼Öð¸öµÝÔö´ïµ½¹æ¶¨µÄ¼ÆÊýÖµ£¬Ò²¿ÉÒԴӹ涨µÄ¼ÆÊýÖµ¿ªÊ¼Öð¸öµÝ¼õ»Ö¸´µ½0£»Ç°ÕßΪ¼Ó·¨¼ÆÊýÆ÷£¬ºóÕßÊǼõ·¨¼ÆÊýÆ÷£»8253/8254²ÉÓúóÕß¡£ £¨3£©32λPC»úÖв¢Ã»ÓÐ8253»ò8254оƬ£¬µ«Æä¿ØÖÆÐ¾Æ¬×é¾ßÓмæÈÝÆä¹¦Äܵĵç·¡£ £¨4£©Ò»´ÎʵÏÖ16λ²¢ÐÐÊý¾Ý´«ÊäÐèÒª16¸öÊý¾ÝÐźÅÏß¡£½øÐÐ32λÊý¾ÝµÄ´®Ðз¢ËÍÖ»ÓÃÒ»¸öÊý¾ÝÐźÅÏ߾ͿÉÒÔ¡£ £¨5£©8255ûÓÐʱÖÓÐźţ¬Æä¹¤×÷·½Ê½1µÄÊý¾Ý´«Êä²ÉÓÃÒ첽ʱÐò¡£ £¨6£©µ÷ÖÆ½âµ÷Æ÷µÄÐźŵ÷ÖÆÊÇÊý×ÖÐźÅÓëÄ£ÄâÐźŵÄת»»£¬ËùÒÔÆäת»»ÔÀíÓëADC»òDACÆ÷¼þÒ»Ñù¡£ £¨7£©Ä£ÄâµØÏߺÍÊý×ÖµØÏß¶¼ÊǵØÏߣ¬ËùÒÔÒ»°ã¿ÉÒÔËæÒâÁ¬½ÓÔÚÒ»Æð¡£ £¨8£©µçÄÔͨ¹ýÂó¿Ë·ç¼Òô£¬ÐèÒªADCÆ÷¼þ½«Òô²¨×ª»»ÎªÊý×ÖÒôƵÐźš£ £¨9£©Ä£ÄâÁ¿×ª»»ÎªÊý×ÖÁ¿Ò»¶¨»áÒýÈëת»»Îó²î£¬ËùÒÔÒ»¶¨ÓÐÊ§Õæ¡£ £¨10£©µ±´¦ÀíÆ÷ÌṩÊý×ÖÁ¿ºóDACÆ÷¼þ½«Êä³öÏàÓ¦µÄÄ£ÄâÁ¿£¬µ«ADCÆ÷¼þÐèÒªÆô¶¯×ª»»£¬¸ôÒ»¶¨Ê±¼äºó²ÅÄÜ»ñµÃÊý×Ö½á¹û¡£ ¡²½â´ð¡³ ¢Ù ¶Ô ¢Þ ´í ¢Ú ¶Ô ¢ß ´í ¢Û ¶Ô ¢à ¶Ô ¢Ü ¶Ô ¢á ¶Ô ¢Ý ¶Ô ¢â ¶Ô ¡²Ï°Ìâ8.3¡³Ìî¿ÕÌâ £¨1£©8253оƬÉÏÓÐ__________¸ö__________λ¼ÆÊýÆ÷ͨµÀ£¬Ã¿¸ö¼ÆÊýÆ÷ÓÐ__________ÖÖ¹¤×÷·½Ê½¿É¹©Ñ¡Ôñ¡£ÈôÉ趨ijͨµÀΪ·½Ê½0ºó£¬ÆäÊä³öÒý½ÅOUTΪ__________µçƽ£»µ±__________ºóͨµÀ¿ªÊ¼¼ÆÊý£¬__________ÐźŶËÿÀ´Ò»¸öÂö³å__________¾Í¼õ1£»µ±__________£¬ÔòÊä³öÒý½ÅÊä³ö__________µçƽ£¬±íʾ¼ÆÊý½áÊø¡£ £¨2£©¼ÙÉèij8253µÄCLK0½Ó1.5MHzµÄʱÖÓ£¬ÓûʹOUT0²úÉúƵÂÊΪ300kHzµÄ·½²¨Ðźţ¬Ôò8253µÄ¼ÆÊýֵӦΪ__________£¬Ó¦Ñ¡ÓõŤ×÷·½Ê½ÊÇ__________¡£ £¨3£©8255¾ßÓÐ__________¸öÍâÉèÊý¾ÝÒý½Å£¬·Ö³É3¸ö¶Ë¿Ú£¬Òý½Å·Ö±ðÊÇ__________£¬__________ºÍ__________¡£ £¨4£©8255µÄAºÍB¶Ë¿Ú¶¼¶¨ÒåΪ·½Ê½1ÊäÈ룬¶Ë¿ÚCÉϰ벿·Ö¶¨ÒåΪÊä³ö£¬Ôò·½Ê½¿ØÖÆ×ÖÊÇ__________£¬ÆäÖÐD0λÒѾûÓÐ×÷ÓᢿÉΪ0»ò1¡£ £¨5£©¶Ô8255µÄ¿ØÖƼĴæÆ÷дÈëA0H£¬ÔòÆä¶Ë¿ÚCµÄPC7Òý½Å±»ÓÃ×÷__________ÐźÅÏß¡£ £¨6£©PC»ú¼üÅÌÉÏESC¼üºÍ×ÖĸA¼üµÄɨÃèÂë·Ö±ðÊÇ__________ºÍ__________£¬¶Ï¿ªÉ¨ÃèÂë·Ö±ðÊÇ__________ºÍ__________¡£ £¨7£©232CÓÃÓÚ·¢ËÍ´®ÐÐÊý¾ÝµÄÒý½ÅÊÇ__________£¬½ÓÊÕ´®ÐÐÊý¾ÝµÄÒý½ÅÊÇ__________£¬Ðźŵس£ÓÃ__________Ãû³Æ±íʾ¡£ £¨8£©ÓûʹͨÐÅ×Ö·ûΪ8¸öÊý¾Ýλ¡¢Å¼Ð£Ñé¡¢2¸öֹͣ룬ÔòÓ¦Ïò8250__________¼Ä´æÆ÷дÈë¿ØÖÆ×Ö__________£¬ÆäÔÚPCϵÁлúÉϵÄI/OµØÖ·£¨COM2£©ÊÇ__________¡£ £¨9£©ÓзûºÅÊý32µÄ8λ²¹ÂëÊÇ00100000£¬Èç¹ûÓÃ8Î»Æ«ÒÆÂëÊÇ__________£»ÓзûºÅÊý£32µÄ8λ²¹ÂëÊÇ11100000£¬Èç¹ûÓÃ8Î»Æ«ÒÆÂëÊÇ__________¡£ £¨10£©Èç¹ûADC0809Õý»ù×¼µçѹÁ¬½Ó10V£¬¸º»ù×¼µçѹ½ÓµØ£¬ÊäÈëÄ£Äâµçѹ2V£¬ÔòÀíÂÛÉϵÄÊä³öÊý×ÖÁ¿Îª__________¡£ ¡²½â´ð¡³ ¢Ù 3£¬16£¬6£¬µÍ£¬Ð´Èë¼ÆÊý³õÖµ£¨²¢½øÈë¼õ1¼ÆÊýÆ÷£©£¬Âö³åÊäÈëCLK£¬¼õ·¨¼ÆÊýÆ÷£¬¼ÆÊýÆ÷µÄ¼ÆÊýÖµ¼õΪ0£¬¸ß ¢Ú 5£¨£½1.5MHz¡Â300KHz£©£¬3 ¢Û 24£¬PA0¡«PA7£¬PB0¡«PB7£¬PC0¡«PC7 ¢Ü 10110110£¨£½B6H£¬B7H£© ¢Ý OBF £ £46 ¢Þ 01H£¬1DH£¨£½30£©£¬81H£¬9DH£¨£½158£© ¢ß TxD£¬RxD£¬GND ¢à ͨÐÅÏß·¿ØÖÆ£¨CLR£©£¬00011111B£¨1FH£©£¬2FBH ¢á 10100000£¬01100000 ¢â 53H£¨£½51¡Ö51.2£½2¡Â10¡Á256£© ¡²Ï°Ìâ8.4¡³8253оƬÿ¸ö¼ÆÊýͨµÀÓëÍâÉè½Ó¿ÚÓÐÄÄЩÐźÅÏߣ¬Ã¿¸öÐźŵÄÓÃ;ÊÇʲô£¿ ¡²½â´ð¡³ CLKʱÖÓÊäÈëÐźţºÔÚ¼ÆÊý¹ý³ÌÖУ¬´ËÒý½ÅÉÏÿÊäÈëÒ»¸öʱÖÓÐźţ¨Ï½µÑØ£©£¬¼ÆÊýÆ÷µÄ¼ÆÊýÖµ¼õ1¡£ GATEÃÅ¿ØÊäÈëÐźţº¿ØÖƼÆÊýÆ÷¹¤×÷£¬¿É·Ö³Éµçƽ¿ØÖƺÍÉÏÉýÑØ¿ØÖÆÁ½ÖÖÀàÐÍ¡£ OUT¼ÆÊýÆ÷Êä³öÐźţºµ±Ò»´Î¼ÆÊý¹ý³Ì½áÊø£¨¼ÆÊýÖµ¼õΪ0£©£¬OUTÒý½ÅÉϽ«²úÉúÒ»¸öÊä³öÐźš£ ¡²Ï°Ìâ8.5¡³8253оƬÐèÒª¼¸¸öI/OµØÖ·£¬¸÷ÓÃÓÚºÎÖÖÄ¿µÄ£¿ ¡²½â´ð¡³ 4¸ö£¬¶Áд¼ÆÊýÆ÷0£¬1ºÍ2£¬¼°¿ØÖÆ×Ö¡£ ¡²Ï°Ìâ8.6¡³ÊÔ°´ÈçÏÂÒªÇó·Ö±ð±àд8253µÄ³õʼ»¯³ÌÐò£¬ÒÑÖª8253µÄ¼ÆÊýÆ÷0¡«2ºÍ¿ØÖÆ×ÖI/OµØÖ·ÒÀ´ÎΪ204H¡«207H¡£ ¢Ù ʹ¼ÆÊýÆ÷1¹¤×÷ÔÚ·½Ê½0£¬½öÓÃ8λ¶þ½øÖƼÆÊý£¬¼ÆÊý³õֵΪ128¡£ ¢Ú ʹ¼ÆÊýÆ÷0¹¤×÷ÔÚ·½Ê½1£¬°´BCDÂë¼ÆÊý£¬¼ÆÊýֵΪ3000¡£ ¢Û ʹ¼ÆÊýÆ÷2¹¤×÷ÔÚ·½Ê½2£¬¼ÆÊýֵΪ02F0H¡£ ¡²½â´ð¡³ ¢Ù ¢Ú ¢Û ¡²Ï°Ìâ8.7¡³ÀûÓÃÑïÉùÆ÷¿ØÖÆÔÀí£¬±àдһ¸ö¼òÒ×ÀÖÆ÷³ÌÐò¡£ µ±°´ÏÂ1¡«8Êý×Ö¼üʱ£¬·Ö±ð·¢³öÁ¬ÐøµÄÖÐÒô1¡«7ºÍ¸ßÒôi£¨¶ÔӦƵÂÊÒÀ´ÎΪ524Hz£¬588Hz£¬660Hz£¬698Hz£¬784Hz£¬880Hz£¬988HzºÍ1048Hz£©£» µ±°´ÏÂÆäËû¼üʱÔÝÍ£·¢Òô£» µ±°´ÏÂESC¼ü£¨ASCIIÂëΪ1BH£©£¬³ÌÐò·µ»Ø²Ù×÷ϵͳ¡£ ¡²½â´ð¡³ table ; Êý¾Ý¶Î dw 2277,2138,1808,1709,1522,1356,1208,1139 ; ¶ÔÓ¦ÖÐÒô1¡«7ºÍ¸ßÒôiµÄ¶¨Ê±Æ÷¼ÇÊýÖµ ; ´úÂë¶Î mov al,50h mov dx,207h out dx,al mov al,128 mov dx,205h out dx,al mov al,33h mov dx,207h out dx,al mov ax,3000h mov dx,204h out dx,al mov al,ah out dx,al mov al,0b4h mov dx,207h out dx,al mov al,02f0h mov dx,206h out dx,al mov al,ah out dx,al ; £½80h ; ²»ÊÇ3000 £ £47 again: next: mov al,0b6h out 43h,al call readc cmp al,'1' jb next cmp al,'8' ja next sub al,30h sub al,1 xor ah,ah shl ax,1 mov bx,ax mov ax,table[bx] out 42h,al mov al,ah out 42h,al in al,61h or al,03h out 61h,al jmp again push ax in al,61h and al,0fch out 61h,al pop ax cmp al,1bh jne again ; ÉèÖö¨Ê±Æ÷2¹¤×÷·½Ê½ ; µÈ´ý°´¼ü ; ÅжÏÊÇ·ñΪÊý×Ö1¡«8 ; 1¡«8µÄASCIIÂëת»»Îª¶þ½øÖÆÊý ; ÔÙ¼õ1£¬½«Êý×Ö1¡«8±äΪ0¡«7£¬ÒÔ±ã²é±í ; ³ËÒÔ2 ; ¼ÇÊýÖµ±íÊÇ16λÊý¾Ý£¬ÎÞ·¨²ÉÓÃxlatÖ¸Áî ; È¡³ö¶ÔÓ¦µÄ¼ÇÊýÖµ ; ÉèÖö¨Ê±Æ÷2µÄ¼ÇÊýÖµ ; ´ò¿ªÑïÉùÆ÷ÉùÒô ; ʹD1D0£½PB1PB0£½11B£¬ÆäËûλ²»±ä ; Á¬Ðø·¢Éù£¬Ö±µ½°´ÏÂÁíÒ»¸ö¼ü ; ²»ÊÇÊý×Ö1¡«8£¬Ôò¹Ø±ÕÑïÉùÆ÷ÉùÒô ; ʹD1D0£½PB1PB0£½00b£¬ÆäËûλ²»±ä ; ÅжÏÊÇ·ñΪESC¼ü£¨¶ÔÓ¦ASCIIÂë1bh£© ; ²»ÊÇESC£¬¼ÌÐø£»·ñÔò³ÌÐòÖ´ÐнáÊø ¡²Ï°Ìâ8.8¡³Õë¶Ô8255оƬ¹¤×÷·½Ê½1Êä³öʱÐò£¬ËµÃ÷Êý¾ÝÊä³öµÄ¹ý³Ì¡£ ¡²½â´ð¡³ ¢Ù ÖжϷ½Ê½Ï£¬´¦ÀíÆ÷ÏìÓ¦Öжϣ¬Ö´ÐÐÊä³öOUTÖ¸ÁÊä³öÊý¾Ý¸ø8255£¬·¢³öWRÐźš£²éѯ·½Ê½Ï£¬Í¨¹ý¶Ë¿ÚCµÄ״̬ȷÐÅ¿ÉÒÔÊä³öÊý¾Ý£¬´¦ÀíÆ÷Ö´ÐÐÊä³öÖ¸Á ¢Ú WRÐźÅÒ»·½ÃæÇå³ýINTR£¬ÁíÒ»·½ÃæÔÚÉÏÉýÑØÊ¹OBFÓÐЧ£¬Í¨ÖªÍâÉè½ÓÊÕÊý¾Ý¡£ÊµÖÊÉÏOBFÐźÅÊÇÍâÉèµÄѡͨÐźţ» ¢Û WRÐźŽáÊøºó£¬Êý¾Ý´Ó¶Ë¿ÚÊý¾ÝÏßÉÏÊä³ö¡£µ±ÍâÉè½ÓÊÕÊý¾Ýºó£¬·¢³öACKÏìÓ¦£» ¢Ü ACKÐźÅʹOBFÎÞЧ£¬ÉÏÉýÑØÓÖʹINTRÓÐЧ£¨ÔÊÐíÖжϵÄÇé¿ö£©£¬·¢³öеÄÖжÏÇëÇó¡£ ¡²Ï°Ìâ8.9¡³É趨8255оƬµÄ¶Ë¿ÚAΪ·½Ê½1ÊäÈ룬¶Ë¿ÚBΪ·½Ê½1Êä³ö£¬Ôò¶ÁÈ¡¿ÚCµÄÊý¾ÝµÄ¸÷λÊÇʲôº¬Ò壿 ¡²½â´ð¡³ PC0£º¶Ë¿ÚBµÄÖжÏÇëÇóÐźŠPC1£º¶Ë¿ÚBÊä³ö»º³åÆ÷ÂúÐźŠPC2£º¶Ë¿ÚBÖжÏÔÊÐí¿ØÖÆÎ» PC3£º¶Ë¿ÚAµÄÖжÏÇëÇóÐźŠPC4£º¶Ë¿ÚAÖжÏÔÊÐí¿ØÖÆÎ» PC5£º¶Ë¿ÚAÊäÈ뻺³åÆ÷ÂúÐźŠPC6/PC7£ºI/OÐźŠ¡²Ï°Ìâ8.10¡³ÓÃ8255¶Ë¿ÚA·½Ê½0Óë´òÓ¡»ú½Ó¿ÚʾÀýÖУ¬Èç¹û¸ÄÓö˿ÚB£¬ÆäËû²»±ä£¬ËµÃ÷Ó¦¸ÃÈçºÎÐ޸Ľӿڵ緺ͳÌÐò¡£ ¡²½â´ð¡³ Ð޸ĵç·£º½«¶Ë¿ÚBµÄPB0¡«PB7½Ó´òÓ¡»úµÄÊý¾ÝλDATA0¡«DATA7¼´¿É¡£ Ð޸ijÌÐò£º½«Êä³öÊý¾Ý¶Ë¿Ú¸ÄΪFFFAH¼´¿É¡£ ¡²Ï°Ìâ8.11¡³ÓÃ8255¶Ë¿ÚA·½Ê½1Óë´òÓ¡»ú½Ó¿Ú£¬Èç¹û¸ÄÓö˿ÚB£¬ÆäËû²»±ä£¬ËµÃ÷ÈçºÎÐ޸Ľӿڵ緺ͳÌÐò¡£ ¡²½â´ð¡³ Ð޸ĵç·£ºPA0¡«PA7¸ÄΪPB0¡«PB7£»PC6¸ÄÓÃPC2£¬PC7¸ÄÓÃPC1£¬PC3¸ÄÓÃPC0¡£ Ð޸ijÌÐò£º mov dx,0fffeh £ £48 prints print1: print2: prints mov al,84h out dx,al mov al,04h ; ʹINTEB£¨PC2£©Îª0£¬½ûÖ¹ÖÐ¶Ï out dx,al ¡¡ mov cx,counter ; ´òÓ¡×Ö½ÚÊýËÍCX mov bx,offset buffer ; È¡×Ö·û´®Ê×µØÖ· call prints ; µ÷ÓôòÓ¡×Ó³ÌÐò ¡¡ proc push ax ; ±£»¤¼Ä´æÆ÷ push dx mov al,[bx] ; ȡһ¸öÊý¾Ý mov dx,0fffah out dx,al ; ´Ó¶Ë¿ÚBÊä³ö mov dx,0fffch in al,dx test al,02h ; ¼ì²â£¨PC1£©Îª1·ñ? jz print2 inc bx loop print1 pop dx pop ax ret endp ¡²Ï°Ìâ8.12¡³ÓÐÒ»¹¤Òµ¿ØÖÆÏµÍ³£¬ÓÐËĸö¿ØÖƵ㣬·Ö±ðÓÉËĸö¶ÔÓ¦µÄÊäÈë¶Ë¿ØÖÆ£¬ÏÖÓÃ8255µÄ¶Ë¿ÚCʵÏÖ¸ÃϵͳµÄ¿ØÖÆ£¬Èç±¾ÌâͼÐΡ£¿ª¹ØK0¡«K3´ò¿ªÔò¶ÔÓ¦·¢¹â¶þ¼«¹ÜL0¡«L3ÁÁ£¬±íʾϵͳ¸Ã¿ØÖƵãÔËÐÐÕý³££»¿ª¹Ø±ÕºÏÔò¶ÔÓ¦·¢¹â¶þ¼«¹Ü²»ÁÁ£¬ËµÃ÷¸Ã¿ØÖƵã³öÏÖ¹ÊÕÏ¡£±àд8255µÄ³õʼ»¯³ÌÐòºÍÕâ¶Î¿ØÖƳÌÐò¡£ ¡²½â´ð¡³ ; дÈ뷽ʽ×Ö mov al,100¡Á00¡Á1b ; £½81H£¨¡Á±íʾÈÎÒ⣬¿ÉÒÔÌîдΪ0£¬Ò²¿ÉÒÔΪ1£© mov dx,¿ØÖƿڵØÖ· ; ¿ÉÒÔ¼ÙÉèΪ0FFFEH out dx,al ;¼ÓÈëÏÂÒ»¶Î¸üºÃ£¬Ê¹L0¡«L3È«ÁÁ mov al,0fh mov dx,¶Ë¿ÚCµØÖ· ; ¿ÉÒÔ¼ÙÉèΪ0FFFCH out dx,al ;¿ØÖƳÌÐò¶Î mov dx,¶Ë¿ÚCµØÖ· ; ¿ÉÒÔ¼ÙÉèΪ0FFFCH in al,dx ; ¶ÁÈëPC0¡«PC3 mov cl,4 shl al,cl ; ×óÒÆ4λ out dx,al ; ¿ØÖÆPC4¡«PC7 +5V 8255 2K?4 K0 K1 K2 K3 L0 L1 L2 L3 74LS04 +5V 4?300¦¸ ¡²Ï°Ìâ8.13¡³ ±àдһ¸ö³ÌÐò£¬Ã¿µ±ÔÚ¼üÅÌÉϰ´ÏÂÒ»¼üʱ£¬¾ÍÏÔʾÆä½ÓͨºÍ¶Ï¿ªÉ¨ÃèÂ룬¿ÉÒÔÀûÓÃESC¼üÍ˳ö³ÌÐòÖ´ÐС£¼üÅ̵Äÿ¸ö×Ö½Ú´úÂë¶¼ÒýÆðÒ»´Î09HºÅÖжϣ¬ÕâÑù´ó²¿·Ö°´¼ü½«²úÉúÁ½´ÎÖжϣ¬°´Ï°´¼üÅÌ·¢ËͽÓͨɨÃèÂ룬ËÉ¿ª°´¼ü·¢ËͶϿªÉ¨ÃèÂë¡£ÀýÈ磬ESC¼üÊÇ01HºÍ81H¡£83¼ü±ê×¼¼üÅÌÒÔºóµÄÔö¼ÓµÄ°´¼ü¿ÉÄÜÓжà¸ö¡£ÇëÎÊÖ÷¼üÅÌÇøºÍÊý×ÖС¼üÅÌ PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 £ £49 ͼ8-1 ϰÌâ8.12¸½Í¼ ÇøµÄÁ½¸ö»Ø³µµÄɨÃèÂë·Ö±ðÊÇʲô£¿ ¡²½â´ð¡³ ; Êý¾Ý¶Î done byte 0 ; ´úÂë¶Î£¬Ö÷³ÌÐò mov ax,3509h int 21h push es push bx cli push ds mov dx,seg new09h mov ds,dx mov dx,offset new09h mov ax,2509h int 21h pop ds in al,21h push ax and al,0fdh out 21h,al sti start1: cmp done,1 jne start1 cli pop ax out 21h,al pop dx pop ds mov ax,2509h int 21h sti ; ´úÂë¶Î£¬×Ó³ÌÐò new09h proc sti push ax push bx in al,60h push ax in al,61h or al,80h out 61h,al and al,7fh out 61h,al pop ax cmp al,1 je next3 push ax shr al,4 cmp al,0ah jb next1 add al,7 next1: add al,30h mov bx,0 mov ah,0eh int 10h pop ax and al,0fh cmp al,0ah jb next2 add al,7 50 £ £