¡¶16/32λ΢»úÔÀí¡¢»ã±àÓïÑÔ¼°½Ó¿Ú¼¼Êõ½Ì³Ì¡·
²¿·ÖϰÌâ²Î¿¼½â´ð
µÚ1Õ ΢ÐͼÆËã»úϵͳ¸ÅÊö
¡²Ï°Ìâ1.2¡³
ʲôÊÇͨÓÃ΢´¦ÀíÆ÷¡¢µ¥Æ¬»ú£¨Î¢¿ØÖÆÆ÷£©¡¢DSPоƬ¡¢Ç¶Èëʽϵͳ£¿ ¡²½â´ð¡³
ͨÓÃ΢´¦ÀíÆ÷£ºÊʺϽϹãµÄÓ¦ÓÃÁìÓòµÄ΢´¦ÀíÆ÷£¬ÀýÈç×°ÔÚPC»ú¡¢±Ê¼Ç±¾µçÄÔ¡¢¹¤×÷Õ¾¡¢·þÎñÆ÷ÉϵÄ΢´¦ÀíÆ÷¡£
µ¥Æ¬»ú£ºÊÇָͨ³£ÓÃÓÚ¿ØÖÆÁìÓòµÄ΢´¦ÀíÆ÷оƬ£¬ÆäÄÚ²¿³ýCPUÍ⻹¼¯³ÉÁ˼ÆËã»úµÄÆäËûһЩÖ÷Òª²¿¼þ£¬Ö»ÐèÅäÉÏÉÙÁ¿µÄÍⲿµç·ºÍÉ豸£¬¾Í¿ÉÒÔ¹¹³É¾ßÌåµÄÓ¦ÓÃϵͳ¡£
DSPоƬ£º³ÆÊý×ÖÐźŴ¦ÀíÆ÷£¬Ò²ÊÇÒ»ÖÖ΢¿ØÖÆÆ÷£¬Æä¸üÊʺϴ¦Àí¸ßËÙµÄÊý×ÖÐźţ¬ÄÚ²¿¼¯³ÉÓиßËٳ˷¨Æ÷£¬Äܹ»½øÐпìËٳ˷¨ºÍ¼Ó·¨ÔËËã¡£
ǶÈëʽϵͳ£ºÀûÓÃ΢¿ØÖÆÆ÷¡¢Êý×ÖÐźŴ¦ÀíÆ÷»òͨÓÃ΢´¦ÀíÆ÷£¬½áºÏ¾ßÌåÓ¦Óù¹³ÉµÄ¿ØÖÆÏµÍ³£¬ÆäµäÐ͵ÄÌØµãÊǰѼÆËã»úÖ±½ÓǶÈëµ½Ó¦ÓÃϵͳ֮ÖС£
¡²Ï°Ìâ1.5¡³
˵Ã÷΢ÐͼÆËã»úϵͳµÄÓ²¼þ×é³É¼°¸÷²¿·Ö×÷Óᣠ¡²½â´ð¡³
CPU£ºCPUÒ²³Æ´¦ÀíÆ÷£¬ÊÇ΢»úµÄºËÐÄ¡£Ëü²ÉÓôó¹æÄ£¼¯³Éµç·оƬ£¬Ð¾Æ¬ÄÚ¼¯³ÉÁË¿ØÖÆÆ÷¡¢ÔËËãÆ÷ºÍÈô¸É¸ßËÙ´æ´¢µ¥Ôª£¨¼´¼Ä´æÆ÷£©¡£´¦ÀíÆ÷¼°ÆäÖ§³Öµç·¹¹³ÉÁË΢»úϵͳµÄ¿ØÖÆÖÐÐÄ£¬¶ÔϵͳµÄ¸÷¸ö²¿¼þ½øÐÐͳһµÄе÷ºÍ¿ØÖÆ¡£
´æ´¢Æ÷£º´æ´¢Æ÷ÊÇ´æ·Å³ÌÐòºÍÊý¾ÝµÄ²¿¼þ¡£
ÍⲿÉ豸£ºÍⲿÉ豸ÊÇÖ¸¿ÉÓë΢»ú½øÐн»»¥µÄÊäÈ루Input£©É豸ºÍÊä³ö£¨Output£©É豸£¬Ò²³ÆI/OÉ豸¡£I/OÉ豸ͨ¹ýI/O½Ó¿ÚÓëÖ÷»úÁ¬½Ó¡£
1
×ÜÏߣº»¥Á¬¸÷¸ö²¿¼þµÄ¹²ÓÃͨµÀ£¬Ö÷Òªº¬Êý¾Ý×ÜÏß¡¢µØÖ·×ÜÏߺͿØÖÆ×ÜÏßÐźš£ ¡²Ï°Ìâ1.6¡³
ʲôÊÇ×ÜÏߣ¿Î¢»ú×ÜÏßͨ³£ÓÐÄÄ3×éÐźţ¿¸÷×éÐźŵÄ×÷ÓÃÊÇʲô£¿ ¡²½â´ð¡³
×ÜÏߣº´«µÝÐÅÏ¢µÄ¹²ÓÃͨµÀ£¬ÎïÀíÉÏÊÇÒ»×鹫Óõ¼Ïß¡£ 3×éÐźÅÏߣºÊý¾Ý×ÜÏß¡¢µØÖ·×ÜÏߺͿØÖÆ×ÜÏß¡£
£¨1£©µØÖ·×ÜÏߣº´«Ê佫Ҫ·ÃÎʵÄÖ÷´æµ¥Ôª»òI/O¶Ë¿ÚµÄµØÖ·ÐÅÏ¢¡£ £¨2£©Êý¾Ý×ÜÏߣº´«Êä¶Áд²Ù×÷µÄÊý¾ÝÐÅÏ¢¡£ £¨3£©¿ØÖÆ×ÜÏߣºÐµ÷ϵͳÖи÷²¿¼þµÄ²Ù×÷¡£ ¡²Ï°Ìâ1.7¡³
¼ò´ðÈçϸÅÄ £¨1£©¼ÆËã»ú×Ö³¤
£¨2£©È¡Ö¸£ÒëÂë£Ö´ÐÐÖÜÆÚ £¨3£©ROM-BIOS £¨4£©ÖÐ¶Ï £¨5£©ISA×ÜÏß ¡²½â´ð¡³
£¨1£©´¦ÀíÆ÷ÿ¸öµ¥Î»Ê±¼ä¿ÉÒÔ´¦ÀíµÄ¶þ½øÖÆÊý¾ÝλÊý³Æ¼ÆËã»ú×Ö³¤¡£
£¨2£©Ö¸ÁîµÄ´¦Àí¹ý³Ì£¬¼´Ö¸´¦ÀíÆ÷´ÓÖ÷´æ´¢Æ÷¶ÁȡָÁ¼ò³ÆÈ¡Ö¸£©£¬·ÒëÖ¸Áî´úÂëµÄ¹¦ÄÜ£¨¼ò³ÆÒëÂ룩£¬È»ºóÖ´ÐÐÖ¸ÁîËù¹æ¶¨µÄ²Ù×÷£¨¼ò³ÆÖ´ÐУ©µÄ¹ý³Ì¡£
£¨3£©ROM-BIOSÊÇ¡°»ù±¾ÊäÈëÊä³öϵͳ¡±£¬²Ù×÷ϵͳͨ¹ý¶ÔBIOSµÄµ÷ÓÃÇý¶¯¸÷Ó²¼þÉ豸£¬Óû§Ò²¿ÉÒÔÔÚÓ¦ÓóÌÐòÖе÷ÓÃBIOSÖеÄÐí¶à¹¦ÄÜ¡£
£¨4£©ÖжÏÊÇCPUÕý³£Ö´ÐгÌÐòµÄÁ÷³Ì±»Ä³ÖÖÔÒò´ò¶Ï¡¢²¢ÔÝʱֹͣ£¬×ªÏòÖ´ÐÐÊÂÏȰ²ÅźõÄÒ»¶Î´¦Àí³ÌÐò£¬´ý¸Ã´¦Àí³ÌÐò½áÊøºóÈÔ·µ»Ø±»ÖжϵÄÖ¸Áî¼ÌÐøÖ´ÐеĹý³Ì¡£
£¨5£©ISA×ÜÏßÊÇÖ¸IBM PC/AT»úÉÏʹÓõÄϵͳ×ÜÏß¡£ ¡²Ï°Ìâ1.8¡³
ÏÂÁÐÊ®Áù½øÖÆÊý±íʾÎÞ·ûºÅÕûÊý£¬Çëת»»ÎªÊ®½øÖÆÐÎʽµÄÕæÖµ£º £¨1£©FFH £¨2£©0H £¨3£©5EH £¨4£©EFH ¡²½â´ð¡³
£¨1£© 255 £¨2£© 0 £¨3£© 94 £¨4£© 239
2
¡²Ï°Ìâ1.9¡³
½«ÏÂÁÐÊ®½øÖÆÊýÕæÖµ×ª»»ÎªÑ¹ËõBCDÂ룺 £¨1£©12 £¨2£©24 £¨3£©68 £¨4£©99 ¡²½â´ð¡³
£¨1£© 12H £¨2£© 24H £¨3£© 68H £¨4£© 99H
¡²Ï°Ìâ1.10¡³
½«ÏÂÁÐѹËõBCDÂëת»»ÎªÊ®½øÖÆÊý£º
£¨1£©10010001 £¨2£©10001001 £¨3£©00110110 £¨4£©10010000 ¡²½â´ð¡³
£¨1£© 91 £¨2£© 89 £¨3£© 36 £¨4£© 90
¡²Ï°Ìâ1.11¡³
½«ÏÂÁÐÊ®½øÖÆÊýÓÃ8λ¶þ½øÖƲ¹Âë±íʾ£º
£¨1£©0 £¨2£©127 £¨3£©£127 £¨4£©£57 ¡²½â´ð¡³
£¨1£© 00000000 £¨2£© 01111111 £¨3£© 10000001 £¨4£© 11000111
¡²Ï°Ìâ1.12¡³
ÊýÂë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
µÚ2Õ ΢´¦ÀíÆ÷Ö¸Áîϵͳ
¡²Ï°Ìâ2.1¡³
΢´¦ÀíÆ÷ÄÚ²¿¾ßÓÐÄÄ3¸ö»ù±¾²¿·Ö£¿8088·ÖΪÄÄÁ½´ó¹¦Äܲ¿¼þ£¿Æä¸÷×ÔµÄÖ÷Òª¹¦ÄÜÊÇʲô£¿ÕâÖֽṹÓë8λCPUÏà±ÈΪʲôÄÜÌá¸ßÆäÐÔÄÜ£¿ ¡²½â´ð¡³
ËãÊõÂß¼µ¥ÔªALU¡¢¼Ä´æÆ÷×éºÍ¿ØÖÆÆ÷£»
×ÜÏß½Ó¿Úµ¥ÔªBIU£º¹ÜÀí8088Óëϵͳ×ÜÏߵĽӿڸºÔðcpu¶Ô½Ó¿ÚºÍÍâÉè½øÐзÃÎÊ Ö´Ðе¥ÔªEU£º¸ºÔðÖ¸ÁîÒëÂë¡¢Ö´ÐкÍÊý¾ÝÔËË㣻
8λcpuÔÚÖ¸ÁîÒëÂëǰ±ØÐëµÈ´ýȡָÁî²Ù×÷µÄÍê³É£¬8088ÖÐÐèÒªÒëÂëµÄÖ¸ÁîÒѾȡµ½ÁËÖ¸Áî¶ÓÁУ¬²»ÐèÒªµÈ´ýȡָÁî¡£¶øÈ¡Ö¸ÁîÊÇcpu×îΪƵ·±µÄ²Ù×÷£¬Òò´Ë8088µÄ½á¹¹ºÍ²Ù×÷·½Ê½½ÚÊ¡ÁË´óÁ¿µÈ´ýʱ¼ä£¬±È8λcpu½ÚÊ¡ÁËʱ¼ä£¬Ìá¸ßÁËÐÔÄÜ¡£
¡²Ï°Ìâ2.2¡³
˵Ã÷8088µÄ8¸ö8λºÍ8¸ö16λͨÓüĴæÆ÷¸÷ÊÇʲô£¿ ¡²½â´ð¡³
8¸ö8λ¼Ä´æÆ÷£ºAH¡¢AL¡¢BH¡¢BL¡¢CH¡¢CL¡¢DH¡¢DL£»
8¸ö16λ¼Ä´æÆ÷£ºÀÛ¼ÓÆ÷AX¡¢»ùÖ·¼Ä´æÆ÷BX¡¢¼ÆÊýÆ÷CX¡¢Êý¾Ý¼Ä´æÆ÷DX¡¢Ô´µØÖ·¼Ä´æ
Æ÷SI¡¢Ä¿µÄµØÖ·¼Ä´æÆ÷DI¡¢»ùÖ·Ö¸ÕëBP¡¢¶ÑÕ»Ö¸ÕëSP¡£ ¡²Ï°Ìâ2.4¡³
¾ÙÀý˵Ã÷CFºÍOF±êÖ¾µÄ²îÒì¡£ ¡²½â´ð¡³
Àý£ºÓÐÔËË㣺3AH+7CH=B6H
×÷ΪÎÞ·ûºÅÊýÔËË㣬ûÓнøÎ»£¬CF=0;
×÷ΪÓзûºÅÊýÔËË㣬½á¹û³¬³ö·¶Î§£¬OF=1. ¡²Ï°Ìâ2.5¡³
ʲôÊÇ8088ÖеÄÂß¼µØÖ·ºÍÎïÀíµØÖ·£¿Âß¼µØÖ·ÈçºÎת»»³ÉÎïÀíµØÖ·£¿1MB×î¶àÄֳܷɶàÉÙ¸öÂß¼¶Î£¿Ç뽫ÈçÏÂÂß¼µØÖ·ÓÃÎïÀíµØÖ·±í´ï£º
¢Å FFFFH:0 ¢Æ 40H:17H ¢Ç 2000H:4500H ¢È B821H:4567H ¡²½â´ð¡³
ÎïÀíµØÖ·£ºÎïÀí´æ´¢µ¥Ôª¾ßÓеÄÒ»¸öΨһµÄ20λ±àºÅ
Âß¼µØÖ·£ºÔÚ8088ÄÚ²¿ºÍÓû§±à³Ìʱ£¬Ëù²ÉÓõġ°¶ÎµØÖ·£ºÆ«ÒƵØÖ·¡±ÐÎʽ
½«Âß¼µØÖ·ÖеĶεØÖ·×óÒÆ¶þ½øÖÆ4루¶ÔÓ¦16½øÖÆÊÇһ룬¼´³ËÒÔ16£©£¬¼ÓÉÏÆ«ÒƵØÖ·¾ÍµÃµ½20λÎïÀíµØÖ·
4
1MB×î¶àÄÜ·Ö³É1MB¡Â16B£½220¡Â24£½216¸öÂß¼¶Î£¬ÒòΪÿ¸ô16¸ö×Ö½Úµ¥Ôª¾Í¿ÉÒÔ¿ªÊ¼Ò»¸öÂß¼¶Î
¢Å FFFFH:0£½FFFF0H ¢Æ 40H:17H£½00417H ¢Ç 2000H:4500H£½24500H ¢È B821H:4567H£½BC777H ¡²Ï°Ìâ2.8¡³
ÒÑÖªDS£½2000H¡¢BX£½0100H¡¢SI£½0002H£¬´æ´¢µ¥Ôª[20100H]¡«[20103H]ÒÀ´Î´æ·Å12H¡¢34H¡¢56H¡¢78H£¬[21200H]¡«[21203H]ÒÀ´Î´æ·Å2AH¡¢4CH¡¢B7H¡¢65H£¬ËµÃ÷ÏÂÁÐÿÌõÖ¸ÁîÖ´ÐÐÍêºóAX¼Ä´æÆ÷µÄÄÚÈÝ£¬ÒÔ¼°Ô´²Ù×÷ÊýµÄѰַ·½Ê½£¿
¢Å mov ax,1200h ¢Æ mov ax,bx
¢Ç mov ax,[1200h] ¢È mov ax,[bx]
¢É mov ax,[bx+1100h] ¢Ê mov ax,[bx+si]
¢Ë mov ax,[bx][si+1100h] ¡²½â´ð¡³
¢Å mov ax,1200h £»AX£½1200H£¬Á¢¼´ÊýѰַ ¢Æ mov ax,bx £»AX£½0100H£¬¼Ä´æÆ÷Ѱַ ¢Ç mov ax,[1200h] £»AX£½4C2AH£¬Ö±½ÓѰַ
¢È mov ax,[bx] £»AX£½3412H£¬¼Ä´æÆ÷¼ä½ÓѰַ
¢É mov ax,[bx+1100h] £»AX£½4C2AH£¬¼Ä´æÆ÷Ïà¶ÔѰַ ¢Ê mov ax,[bx+si] £»AX£½7856H£¬»ùÖ·±äַѰַ
¢Ë mov ax,[bx][si+1100h] £»AX£½65B7H£¬Ïà¶Ô»ùÖ·±äַѰַ ¡²Ï°Ìâ2.9¡³
˵Ã÷ÏÂÃæ¸÷ÌõÖ¸ÁîµÄ¾ßÌå´íÎóÔÒò ¢Å mov cx,dl ¢Æ mov ip,ax ¢Ç mov es,1234h ¢È mov es,ds ¢É mov al,300 ¢Ê mov [sp],ax ¢Ë mov ax,bx+di ¢Ì mov 20h,ah ¡²½â´ð¡³
£¨1£©cxΪ×ּĴæÆ÷£¬dlΪ×ֽڼĴæÆ÷£¬ÀàÐͲ»Æ¥Åä¡£
£¨2£©movÖ¸ÁîµÄÄ¿µÄ²Ù×÷ÊýÖ»ÄÜÊǼĴæÆ÷»òÕßÖ÷´æµ¥Ôª£¬ipÊÇÖ¸Õë¡£ £¨3£©²»ÔÊÐíÁ¢¼´Êýµ½¶Î¼Ä´æÆ÷µÄ´«ËÍ¡£ £¨4£©²»ÔÊÐí¶Î¼Ä´æÆ÷Ö®¼äµÄÖ±½Ó´«ËÍ¡£
5
£¨5£©Êý¾ÝÒç³ö¡£
£¨6£©sp²»ÄÜÓÃÓڼĴæÆ÷¼ä½ÓѰַ¡£ £¨7£©¸ñʽ²»¶Ô¡£Ó¦Îª£ºmov ax,[bx+di] £¨8£©movÖ¸ÁîµÄ²Ù×÷Êý²»ÄÜÊÇÁ¢¼´Êý¡£
¡²Ï°Ìâ2.10¡³
ÒÑÖªÊý×Ö0¡«9¶ÔÓ¦µÄ¸ñÀ×ÂëÒÀ´ÎΪ£º18H¡¢34H¡¢05H¡¢06H¡¢09H¡¢0AH¡¢0CH¡¢11H¡¢12H¡¢14H£¬Ëü´æÔÚÓÚÒÔtableΪÊ×µØÖ·£¨ÉèΪ200H£©µÄÁ¬ÐøÇøÓòÖС£ÇëΪÈçϳÌÐò¶ÎµÄÿÌõÖ¸Áî¼ÓÉÏ×¢ÊÍ£¬ËµÃ÷ÿÌõÖ¸ÁîµÄ¹¦ÄܺÍÖ´Ðнá¹û¡£
lea bx,table mov al,8 xlat ¡²½â´ð¡³
lea bx,table mov al,8 xlat
£»»ñÈ¡tableµÄÊ×µØÖ·£¬BX£½200H £»´«ËÍÓûת»»µÄÊý×Ö£¬AL£½8 £»×ª»»Îª¸ñÀ×Â룬AL£½12H
¡²Ï°Ìâ2.11¡³
¸ø³öÏÂÁи÷ÌõÖ¸ÁîÖ´Ðкó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£½0AFH £»AL£½0AFH £»AL£½0FFH £»AL£½00H
CF ZF SF OF PF
0 0 0 1 0 1
0 1 1 0 1 0
1 0 0 0 0 0
1 1 1 1 1 1
0 1 0 0
£»AL£½12H 1
£»AL£½00H 0
¡²Ï°Ìâ2.12¡³
Çë·Ö±ðÓÃÒ»Ìõ»ã±àÓïÑÔÖ¸ÁîÍê³ÉÈçϹ¦ÄÜ£º
6
¢Å °ÑBX¼Ä´æÆ÷ºÍDX¼Ä´æÆ÷µÄÄÚÈÝÏà¼Ó£¬½á¹û´æÈëDX¼Ä´æÆ÷¡£
¢Æ ÓüĴæÆ÷BXºÍSIµÄ»ùÖ·±äַѰַ·½Ê½°Ñ´æ´¢Æ÷µÄÒ»¸ö×Ö½ÚÓëAL¼Ä´æÆ÷µÄÄÚÈÝÏà¼Ó£¬²¢°Ñ½á¹ûË͵½ALÖС£
¢Ç ÓÃBXºÍÎ»ÒÆÁ¿0B2HµÄ¼Ä´æÆ÷Ïà¶ÔѰַ·½Ê½°Ñ´æ´¢Æ÷ÖеÄÒ»¸ö×ÖºÍCX¼Ä´æÆ÷µÄÄÚÈÝÏà¼Ó£¬²¢°Ñ½á¹ûËͻش洢Æ÷ÖС£
¢È ÓÃÎ»ÒÆÁ¿Îª0520HµÄÖ±½ÓѰַ·½Ê½°Ñ´æ´¢Æ÷ÖеÄÒ»¸ö×ÖÓëÊý3412HÏà¼Ó£¬²¢°Ñ½á¹ûËͻظô洢µ¥ÔªÖС£
¢É °ÑÊý0A0HÓëAL¼Ä´æÆ÷µÄÄÚÈÝÏà¼Ó£¬²¢°Ñ½á¹ûËÍ»ØALÖÐ ¡²½â´ð¡³
¢Å add dx,bx ¢Æ add al,[bx+si] ¢Ç add [bx+0b2h],cx
¢È add word ptr [0520h],3412h ¢É add al,0a0h
¡²Ï°Ìâ2.13¡³
ÉèÓÐ4¸ö16λ´ø·ûºÅÊý£¬·Ö±ð×°ÔÚX¡¢Y¡¢Z¡¢V´æ´¢µ¥ÔªÖУ¬ÔĶÁÈçϳÌÐò¶Î£¬µÃ³öËüµÄÔËË㹫ʽ£¬²¢ËµÃ÷ÔËËã½á¹û´æÓںδ¦¡£
mov ax,X imul Y mov cx,ax mox bx,dx mov ax,Z cwd
add cx,ax adc bx,dx sub cx,540 sbb bx,0 mov ax,V cwd
sub ax,cx sbb dx,bx idiv X ¡²½â´ð¡³
£¨V-£¨X*Y+Z-540£©/X
¡²Ï°Ìâ2.14¡³
¸ø³öÏÂÁи÷ÌõÖ¸ÁîÖ´ÐкóµÄ½á¹û£¬ÒÔ¼°×´Ì¬±êÖ¾CF¡¢OF¡¢SF¡¢ZF¡¢PFµÄ״̬¡£
7
mov ax,1470h and ax,ax or ax,ax xor ax,ax not ax
test ax,0f0f0h
¡²½â´ð¡³
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£½FFFFH
CF ZF SF OF PF 0 0 0 0 0
0 0 1 1 0
0 0 0 0 1
0 0 0 0 0
0 0 1 1 1
¡²Ï°Ìâ2.15¡³
¿ØÖÆ×ªÒÆÀàÖ¸ÁîÖÐÓÐÄÄÈýÖÖѰַ·½Ê½£¿ ¡²½â´ð¡³
Ïà¶ÔѰַ¡¢Ö±½ÓѰַ¡¢¼ä½ÓѰַ£¨»¹¿ÉÒԷֳɼĴæÆ÷¼ä½Ó¡¢´æ´¢Æ÷¼ä½Ó£©
¡²Ï°Ìâ2.16¡³
¼ÙÉèDS£½2000H¡¢BX£½1256H¡¢TABLEµÄÆ«ÒÆµØÖ·ÊÇ20A1H£¬ÎïÀíµØÖ·232F7H´¦´æ·Å3280H£¬ÊÔÎÊÖ´ÐÐÏÂÁжÎÄÚ¼ä½ÓѰַµÄ×ªÒÆÖ¸Áîºó£¬×ªÒƵÄÓÐЧµØÖ·ÊÇʲô£¿
¢Å JMP BX
¢Æ JMP TABLE[BX] ¡²½â´ð¡³
£¨1£©1256H £¨2£©3280H
¡²Ï°Ìâ2.17¡³
ÅжÏÏÂÁгÌÐò¶ÎÌø×ªµÄÌõ¼þ ¢Å xor ax,1e1eh je equal
¢Æ test al,10000001b jnz there ¢Ç cmp cx,64h jb there
8
¡²½â´ð¡³
¢Å AX£½1e1eh£¨Òì»òºóΪ0£© ¢Æ ALµÄD0»òD7ÖÁÉÙÓÐһλΪ1 ¢Ç CX£¨ÎÞ·ûºÅÊý£©£¼ 64h
¡²Ï°Ìâ2.18¡³
ÈçÏÂÊÇÒ»¶ÎÈí¼þÑÓʱ³ÌÐò£¬ÇëÎÊNOPÖ¸ÁîÖ´ÐÐÁ˶àÉٴΣ¿ xor cx,cx delay£º nop loop delay ¡²½â´ð¡³
216´Î
¡²Ï°Ìâ2.20¡³
°´ÕÕÏÂÁÐÒªÇ󣬱àдÏàÓ¦µÄ³ÌÐò¶Î£º
¢Å ÓÉstringָʾÆðʼµØÖ·µÄÖ÷´æµ¥ÔªÖдæ·ÅÓÐÒ»¸ö×Ö·û´®£¨³¤¶È´óÓÚ6£©£¬°Ñ¸Ã×Ö·û´®ÖеĵÚ1¸öºÍµÚ6¸ö×Ö·û£¨×Ö½ÚÁ¿£©´«Ë͸øDX¼Ä´æÆ÷¡£
¢Æ ÓÐÁ½¸ö32λÊýÖµ£¬°´¡°Ð¡¶Ë·½Ê½¡±´æ·ÅÔÚÁ½¸ö»º³åÇøbuffer1ºÍbuffer2ÖУ¬±àд³ÌÐò¶ÎÍê³ÉDX.AX¡ûbuffer1£buffer2¹¦ÄÜ¡£
¢Ç ±àдһ¸ö³ÌÐò¶Î£¬ÔÚDX¸ß4λȫΪ0ʱ£¬Ê¹AX£½0£»·ñÔòʹAX£½£1¡£ ¢È °ÑDX.AXÖеÄË«×ÖÓÒÒÆ4λ
¢É ÓÐÒ»¸ö100¸ö×Ö½ÚÔªËØµÄÊý×飬ÆäÊ×µØÖ·Îªarray£¬½«Ã¿¸öÔªËØ¼õ1£¨²»¿¼ÂÇÒç³ö»ò½è룩´æÓÚÔ´¦¡£ ¡²½â´ð¡³
£¨1£© mov dl,string[1] mov dh,string[6] £¨2£© mov ax, word ptr buffer1 sub ax, word ptr buffer2 ; ÏȼõµÍ16λ mov dx, word ptr buffer1+2 sbb dx, word ptr buffer2+2 ; ºó¼õ¸ß16룬Ðè¼õµÍ16λµÄ½èλ £¨3£© test dx,0f000h jz next mov ax,-1
9
next: done: £¨4£© again: £¨5£© again:
jmp done mov ax,0 ¡
mov cx,4
shr dx,1 ; ÓÒÒÆÒ»Î»£¬ÒƳöµÄµÍλ½øÈëCF±êÖ¾ rcr ax,1 ; ½«CFÒÆ½øAX¸ßλ£¬Í¬Ê±ÊµÏÖAXÓÒÒÆ loop again ; Ñ»·4´Î£¬ÊµÏÖ4λÓÒÒÆ mov cx,100 mov bx,0
sub array[bx],1 inc bx loop again
10
µÚ3Õ »ã±àÓïÑÔ³ÌÐòÉè¼Æ
¡²Ï°Ìâ3.9¡³
¸ø³öÏÂÁÐÓï¾äÖУ¬Ö¸ÁîÁ¢¼´Êý£¨ÊýÖµ±í´ïʽ£©µÄÖµ£º ¢Å mov al,23h AND 45h OR 67h ¢Æ mov ax,1234h/16+10h ¢Ç mov ax,23h SHL 4
¢È mov al,¡¯a¡¯ AND (NOT(¡¯a¡¯-¡¯A¡¯))
¢É mov ax,(76543 LT 32768) XOR 7654h ¡²½â´ð¡³
£¨1£© al=67h
£¨2£© ax=133h,dx=4h £¨3£© ax=0230h £¨4£© al=41h £¨5£© ax=7654h
¡²Ï°Ìâ3.10¡³
»Í¼ËµÃ÷ÏÂÁÐÓï¾ä·ÖÅäµÄ´æ´¢¿Õ¼ä¼°³õʼ»¯µÄÊý¾ÝÖµ£º ¢Å byte_var db ¡¯ABC¡¯,10,10h,¡¯EF¡¯,3 dup(-1,?,3 dup(4)) ¢Æ word_var dw 10h,-5,3 dup(?) ¡²½â´ð¡³
£¨1£©´ÓµÍµØÖ·µ½¸ßµØÖ·£¬¸÷¸ö×Ö½ÚÒÀ´ÎÊÇ£º
41h 42h 43h 0ah 10h 45h 46h ffh - 04h 04h 04h ffh - 04h 04h 04h ffh - 04h 04h 04h £¨2£©´ÓµÍµØÖ·µ½¸ßµØÖ·£¬¸÷¸ö×Ö½ÚÒÀ´ÎÊÇ£º 10h 0 FBh FFh - - - - - -
ÆäÖС°-¡±±íʾÎÞ³õÖµ£¬Êµ¼ÊÉÏ»ã±à³ÌÐò»áÌîÈë0¡£
¡²Ï°Ìâ3.11¡³
ÇëÉèÖÃÒ»¸öÊý¾Ý¶Î£¬°´ÕÕÈçÏÂÒªÇó¶¨Òå±äÁ¿£º
¢Å my1bΪ×Ö·û´®±äÁ¿£¬±íʾ×Ö·û´®¡°Personal Computer¡± ¢Æ my2bΪÓÃÊ®½øÖÆÊý±íʾµÄ×Ö½Ú±äÁ¿£¬Õâ¸öÊýµÄ´óСΪ20 ¢Ç my3bΪÓÃÊ®Áù½øÖÆÊý±íʾµÄ×Ö½Ú±äÁ¿£¬Õâ¸öÊýµÄ´óСΪ20 ¢È my4bΪÓöþ½øÖÆÊý±íʾµÄ×Ö½Ú±äÁ¿£¬Õâ¸öÊýµÄ´óСΪ20 ¢É my5wΪ20¸öδ¸³ÖµµÄ×Ö±äÁ¿ ¢Ê my6cΪ100µÄ·ûºÅ³£Á¿
¢Ë my7cΪ×Ö·û´®³£Á¿£¬´úÌæ×Ö·û´®¡°Personal Computer¡±
11
¡²½â´ð¡³
my1b my2b my3b my4b my5w my6c my7c
db 'Personal Computer' db 20 db 14h
db 00010100b dw 20 dup(?) = 100
equ
¡²Ï°Ìâ3.15¡³
¼ÙÉèmywordÊÇÒ»¸ö×Ö±äÁ¿£¬mybyte1ºÍmybyte2ÊÇÁ½¸ö×Ö½Ú±äÁ¿£¬Ö¸³öÏÂÁÐÓï¾äÖеľßÌå´íÎóÔÒò¡£
¢Å mov byte ptr [bx],1000 ¢Æ mov bx,offset myword[si] ¢Ç cmp mybyte1,mybyte2 ¢È mov mybyte1,al+1 ¢É sub al,myword ¢Ê jnz myword ¡²½â´ð¡³
(1) 1000 ³¬¹ýÒ»¸ö×Ö½ÚËùÄܱí´ïµÄ×î´óÕûÊý (2)SI ӦΪżÊý
(3)Á½¸öÄÚ´æµ¥Ôª²»ÄÜÖ±½ÓÔËËã (4)²»ÄÜʹÓÃal+1£¬Ó¦¸ÄΪ[al+1]
(5)Ô´²Ù×÷ÊýÓëÄ¿µÄ²Ù×÷ÊýÀàÐͲ»Æ¥Åä
(6)Ìõ¼þ×ªÒÆÖ¸ÁîºóÃæÓ¦½Ó±êºÅ£¬¶ø²»ÊDZäÁ¿
¡²Ï°Ìâ3.16¡³
±àдһ¸ö³ÌÐò£¬°Ñ´Ó¼üÅÌÊäÈëµÄÒ»¸öСд×ÖĸÓôóд×ÖĸÏÔʾ³öÀ´¡£ ¡²½â´ð¡³
mov ah,1 £»Ö»ÔÊÐíÊäÈëСд×Öĸ int 21h sub al,20h £»×ª»»Îª´óд×Öĸ mov dl,al mov ah,2
int 21h £»ÏÔʾ
12
µÚ4Õ ΢»ú×ÜÏß
¡²Ï°Ìâ4.1¡³
΢»ú×ÜÏßµÄÐźÅÏß°üÀ¨______¡¢______¡¢_______¡¢ÒÔ¼°µçÔ´ºÍµØÏß¡£Î¢»úϵͳ¿ÉÒÔ½«×ÜÏß»®·ÖΪÈý²ã£¨Àࣩ£¬ËüÃÇÊÇ______¡¢______ºÍ_______¡£ ¡²½â´ð¡³
Êý¾Ý×ÜÏß ¡¢ µØÖ·×ÜÏß ¡¢ ¿ØÖÆ×ÜÏß Ð¾Æ¬×ÜÏß¡¢ ÄÚ×ÜÏß¡¢Íâ×ÜÏß ¡²Ï°Ìâ4.2¡³
Õ¼ÓÃ×ÜÏß½øÐÐÊý¾Ý´«Ê䣬һ°ãÐèÒª¾¹ý×ÜÏßÇëÇóºÍÖٲá¢__________¡¢__________ºÍ½áÊø4¸ö½×¶Î¡£ ¡²½â´ð¡³
Ѱַ£¬Êý¾Ý´«ËÍ ¡²Ï°Ìâ4.7¡³
Ö´ÐÐÒ»ÌõÖ¸ÁîËùÐèÒªµÄʱ¼ä±»³ÆÎª______ÖÜÆÚ£¬¶ø×ÜÏßÖÜÆÚÖ¸µÄÊÇ______£¬8088»ù±¾µÄ×ÜÏßÖÜÆÚÓÉ______¸öT×é³É¡£Èç¹û8088µÄCLKÒý½Å½Ó5MHzµÄʱÖÓÐźţ¬ÄÇôÿ¸öT״̬µÄ³ÖÐøÊ±¼äΪ______¡£ ¡²½â´ð¡³
Ö¸Áî
CPUͨ¹ý×ÜÏß²Ù×÷ÓëÍâ½ç£¨´æ´¢Æ÷ºÍI/O¶Ë¿Ú£©½øÐÐÒ»´ÎÊý¾Ý½»»»µÄ¹ý³Ì£¨Ê±¼ä£© 4 200ns ¡²Ï°Ìâ4.8¡³
Çë½âÊÍ8088ÒÔÏÂÒý½ÅÐźţºCLK¡¢A19/S6¡«A16/S3¡¢A15¡«A8¡¢AD7¡«AD0¡¢IO/M¡¢RD¡¢WR¡¢ALEµÄº¬Ò壬²¢»³öËüÃÇÔÚ´æ´¢Æ÷д×ÜÏßÖÜÆÚÖеIJ¨ÐÎʾÒâ¡£ ¡²½â´ð¡³
CLK£ºCPUʱÖÓÐźÅ
A19/S6¡«A16/S3£ºµØÖ·ÐźÅA19¡«A16ºÍ״̬ÐźÅS6¡«S3·Öʱ¸´ÓÃÐźŠA15¡«A8£ºµØÖ·ÐźÅA15¡«A8
AD7¡«AD0£ºµØÖ·ÐźÅA7¡«A0ºÍÊý¾ÝÐźÅD7¡«D0·Öʱ¸´ÓÃÐźŠIO/M*£ºI/O½Ó¿ÚºÍ´æ´¢Æ÷²Ù×÷Çø±ðÐźŠRD*£º¶Á¿ØÖÆÐźţ¬WR*£ºÐ´¿ØÖÆÐźŠALE£ºµØÖ·Ëø´æÐźÅ
13
¡²Ï°Ìâ4.9¡³
ÔÚ8088µÄ¹¤×÷¹ý³ÌÖУ¬Ê²Ã´Çé¿öÏ»á²úÉúTW£¿¾ßÌå·¢ÉúÔÚʲôʱ¿Ì£¿ ¡²½â´ð¡³
µ±8088½øÐжÁд´æ´¢Æ÷»òI/O½Ó¿Úʱ£¬Èç¹û´æ´¢Æ÷»òI/O½Ó¿ÚÎÞ·¨Âú×ãCPUµÄ¶Á
дʱÐò£¨À´²»¼°Ìṩ»ò¶ÁÈ¡Êý¾Ýʱ£©£¬ÐèÒªCPU²åÈëµÈ´ý״̬Tw¡£
ÔÚ¶Áд×ÜÏßÖÜÆÚµÄT3ºÍT4Ö®¼ä²åÈëTw¡£ ¡²Ï°Ìâ4.11¡³
ÔÚ8088ϵͳÖУ¬¶ÁȡָÁî¡°ADD [2000H], AX¡±£¨Ö¸Á¶ÈΪ3¸ö×Ö½Ú£©ºÍÖ´ÐиÃÖ¸Áî¸÷ÐèÒª¼¸¸ö×ÜÏßÖÜÆÚ£¿ËüÃǸ÷ÊÇʲôÑùµÄ×ÜÏßÖÜÆÚ£¿ ¡²½â´ð¡³
ÿ¸ö×ÜÏßÖÜÆÚÖ»ÄܶÁдһ¸ö×Ö½ÚÊý¾Ý¡£ËùÒÔ¶ÁȡָÁ¶ÈΪ3¸ö×Ö½ÚµÄÖ¸Áî
¡°ADD [2000H], AX¡±ÐèÒª 3 ¸öʱÖÓÖÜÆÚ£¬Ö´ÐÐʱÐèÒª 2 ¸öʱÖÓÖÜÆÚ¡£
¶ÁȡָÁîÊÇ ´æ´¢Æ÷¶Á ×ÜÏßÖÜÆÚ£¬Ö´ÐÐʱÊÇ ´æ´¢Æ÷д ×ÜÏßÖÜÆÚ¡£
14
µÚ5Õ Ö÷´æ´¢Æ÷
¡²Ï°Ìâ5.3¡³
ÀàËÆ´¦ÀíÆ÷×ÜÏߣ¬´æ´¢Æ÷оƬҲ·Ö³ÉÊý¾Ý¡¢µØÖ·ºÍ¿ØÖÆ3ÀàÒý½Å¡£ÒÔ´æ´¢½á¹¹Îª32K¡Á8µÄSRAM 62256ΪÀý£¬¸ÃоƬӦÓÐ________¸öÊý¾ÝÒý½Å¡¢________¸öµØÖ·Òý½Å£¬3¸öµäÐ͵ĿØÖÆÒý½Å·Ö±ðÊÇ________¡¢________ºÍ________¡£ ¡²½â´ð¡³
8 15 Ƭѡ Êä³öÔÊÐí дÈëÔÊÐí ¡²Ï°Ìâ5.7¡³
EEPROMµÄ²ÁдÓëÉÁ´æµÄ²ÁдÓÐʲô²»Í¬£¿ÒÔAT28C040»òAT29C512ΪÀý£¬ËµÃ÷³£ÓõÄÁ½ÖÖÅжϲÁдÊÇ·ñÍê³ÉµÄ·½·¨£¬²¢¹ÀËãÁ½ÕßÍê³ÉÕû¸öоƬ±à³ÌµÄ×î¿ìʱ¼ä¡£ ¡²½â´ð¡³
AT28C040×î¿ì±à³Ìʱ¼ä£º
£¨512¡Á1024/256£©¡Á10ms£½20480ms¡Ö20s AT29C512×î¿ì±à³Ìʱ¼ä£º
512ÉÈÇø¡Á£¨10ms£«128×Ö½Ú¡Á£¨150¡Á10-3£«90¡Á10-6£©ms£©¡Ö14950.4ms¡Ö15s ¡²Ï°Ìâ5.8¡³
SRAMоƬµÄƬѡÒý½ÅÓÐʲôÓÃ;£¿¼ÙÉèÔÚ8088΢´¦ÀíÆ÷ϵͳÖУ¬µØÖ·ÐźÅA19¡«A15Êä³ö01011ʱÒëÂëµç·²úÉúÒ»¸öÓÐЧµÄƬѡÐźţ¬Ôò¸ÃƬѡÐźŽ«Õ¼ÓжàÉÙÖ÷´æÈÝÁ¿£¿ÆäµØÖ··¶Î§ÊÇʲô£¿ ¡²½â´ð¡³
Ö÷´æÈÝÁ¿£º215£½32KB£¬ÒòµÍλµØÖ·ÐźŵĸöÊýÊÇ15¸ö¡£ µØÖ··¶Î§£º01011 000000000000000 ¡« 01011 11111111111111£¬¼´58000H¡«5FFFFH¡£
¡²Ï°Ìâ5.11¡³
ʲôÊÇ´æ´¢Æ÷оƬÁ¬½ÓÖеġ°Î»À©Õ¹¡±ºÍ¡°×ÖÀ©Õ¹¡±£¿²ÉÓÃDRAM 21256£¨256K¡Á1£©¹¹³É512KBµÄRAM´æ´¢Ä£¿é£¬ÐèÒª¶àÉÙ¸öоƬ£¬ÔõÑù½øÐÐλÀ©Õ¹ºÍ×ÖÀ©Õ¹£¿ ¡²½â´ð¡³
λÀ©³ä£º´æ´¢Æ÷оƬÊý¾ÝÒý½Å¸öÊýСÓÚÖ÷»úÊý¾ÝÐźŸöÊýʱ£¬ÀûÓöà¸ö´æ´¢Æ÷оƬÔÚÊý¾Ý¡°Î»¡±·½ÏòµÄÀ©³ä¡£
15
×ÖÀ©³ä£ºµ±Ò»¸ö´æ´¢Æ÷оƬ²»ÄÜÂú×ãϵͳ´æ´¢ÈÝÁ¿Ê±£¬ÀûÓöà¸ö´æ´¢Æ÷оƬÔÚ¡°Êý¾Ý×Ö¡±·½ÏòµÄÀ©³ä¡£
×é³É512KB´æ´¢Ä£¿é£¬ÓÃDRAM 21256£¨256K¡Á1£©ÐèÒª16¸öоƬ£»Î»À©³ä8¸ö£¬×ÖÀ©³ä2×é¡£
¡²Ï°Ìâ5.13¡³
¸ø³öͼ5-28ÖÐ4¸ö´æ´¢Æ÷оƬ¸÷×ÔÕ¼ÓõĵØÖ··¶Î§¡£Èç¹û²ÉÓò¿·ÖÒëÂ룬Ҫָ³öÖØ¸´µÄµØÖ··¶Î§¡£ ¡²½â´ð¡³
4¸ö´æ´¢Ð¾Æ¬¸÷×ԵĿÉÓõØÖ··¶Î§£º оƬºÅ 1 2 3 4 A19A18 00 01 11 11 A17A16 ¡Á¡Á ¡Á¡Á ¡Á0 ¡Á1 A15¡«A0 È«0¡«È«1 È«0¡«È«1 È«0¡«È«1 È«0¡«È«1 00000H¡«3FFFFH 40000H¡«7FFFFH C0000H¡«CFFFFH£¬Öظ´µØÖ·£ºE0000H¡«EFFFFH D0000H¡«DFFFFH£¬Öظ´µØÖ·£ºF0000H¡«FFFFFH µØÖ··¶Î§ 16
µÚ6Õ ÊäÈëÊä³ö½Ó¿Ú
¡²Ï°Ìâ6.1¡³
µäÐ͵ÄI/O½Ó¿Úµç·ͨ³£ÓÐÄÄ3Àà¿É±à³Ì¼Ä´æÆ÷£¿¸÷×ÔµÄ×÷ÓÃÊÇʲô£¿ ¡²½â´ð¡³
£¨1£©Êý¾Ý¼Ä´æÆ÷£º±£´æÍâÉè¸øCPUºÍCPU·¢ÍùÍâÉèµÄÊý¾Ý £¨2£©×´Ì¬¼Ä´æÆ÷£º±£´æÍâÉè»ò½Ó¿Úµç·µÄ״̬
£¨3£©¿ØÖƼĴæÆ÷£º±£´æCPU¸øÍâÉè»ò½Ó¿Úµç·µÄÃüÁî ¡²Ï°Ìâ6.2¡³
I/O¶Ë¿ÚÓë´æ´¢Æ÷µØÖ·³£ÓÐ__????___?ºÍ__????___?Á½ÖÖ±àÅÅ·½Ê½£¬8088/8086´¦ÀíÆ÷Ö§³ÖºóÕߣ¬Éè¼ÆÓÐרÃŵÄI/OÖ¸Áî¡£ÆäÖÐÖ¸ÁîINÊǽ«Êý¾Ý´Ó__????___?´«Êäµ½__????___?£¬Ö´ÐиÃÖ¸Áîʱ8088/8086´¦ÀíÆ÷Òý½Å²úÉú__????___?×ÜÏßÖÜÆÚ¡£Ö¸Áî¡°OUT DX, AL¡±µÄÄ¿µÄ²Ù×÷ÊýÊÇ__????___?Ѱַ·½Ê½£¬Ô´²Ù×÷ÊýÊÇ__????___?Ѱַ·½Ê½¡£ ¡²½â´ð¡³
£¨I/O¶Ë¿ÚÓë´æ´¢Æ÷µØÖ·£©Í³Ò»±àÖ· £¨I/O¶Ë¿ÚÓë´æ´¢Æ÷µØÖ·£©¶ÀÁ¢±àÖ· ÍâÉè ´¦ÀíÆ÷ I/O¶Á
£¨I/O¶Ë¿ÚµÄDX£©¼Ä´æÆ÷¼ä½Ó ¼Ä´æÆ÷ ¡²Ï°Ìâ6.5¡³
ÓÐÒ»¸ö²éѯÊäÈë½Ó¿Úµç·ÀàËÆÍ¼6-9£¬µ«ÆäÊý¾Ý¶Ë¿ÚΪ8F40H¡¢×´Ì¬¶Ë¿ÚΪ8F42H¡£´Ó״̬¶Ë¿Ú×îµÍλ¿ÉÒÔ»ñÖªÊäÈëÉ豸ÊÇ·ñ×¼±¸ºÃÒ»¸ö×Ö½ÚµÄÊý¾Ý£ºD0£½1±íʾ׼±¸ºÃ£¬D0£½0˵Ã÷û׼±¸ºÃ¡£²»¿¼ÂDzéѯ³¬Ê±£¬±à³Ì´ÓÊäÈëÉ豸¶ÁÈ¡100¸ö×Ö½Ú±£´æµ½INBUF»º³åÇø¡£ ¡²½â´ð¡³
again:
mov bx,offset inbuf mov cx,100 mov dx,8f42h
£»²éѯһ´Î
test al,01h jz status mov dx,08f40h in al,dx
£»ÊäÈëÒ»¸ö×Ö½Ú
17
status: in al,dx
mov [bx],al inc bx loop again
£»Ñ»·£¬ÊäÈë100¸ö×Ö½Ú
¡²Ï°Ìâ6.10¡³
²éѯ¡¢ÖжϺÍDMA´«ËÍÊÇ΢»úÖг£ÓõÄÍâÉèÊý¾Ý½»»»·½Ê½£¬Çë˵Ã÷¸÷×ÔµÄÌØµã¡£ ¡²½â´ð¡³
18
µÚ7Õ ÖжϿØÖƽӿÚ
¡²Ï°Ìâ7.2¡³
8088ÖжÏÏòÁ¿±íµÄ×÷ÓÃÊÇʲô£¿ ¡²½â´ð¡³
¡²Ï°Ìâ7.4¡³
8259AÖÐIRR¡¢IMRºÍISRÈý¸ö¼Ä´æÆ÷µÄ×÷ÓÃÊÇʲô£¿ ¡²½â´ð¡³
ÖжÏÇëÇó¼Ä´æÆ÷IRR£º±£´æ8ÌõÍâ½çÖжÏÇëÇóÐźÅIR0¡«IR7µÄÇëÇó״̬£¬DiλΪ1±íʾIRiÒý½ÅÓÐÖжÏÇëÇó£»Îª0±íʾÎÞÇëÇó¡£
ÖжϷþÎñ¼Ä´æÆ÷ISR£º±£´æÕýÔÚ±»8259A·þÎñ×ŵÄÖжÏ״̬£¬DiλΪ1±íʾIRiÖжÏÕýÔÚ·þÎñÖУ»Îª0±íʾûÓб»·þÎñ¡£
ÖÐ¶ÏÆÁ±Î¼Ä´æÆ÷IMR£º±£´æ¶ÔÖжÏÇëÇóÐźÅIRµÄÆÁ±Î״̬£¬DiλΪ1±íʾIRiÖжϱ»ÆÁ±Î£¨½ûÖ¹£©£»Îª0±íʾÔÊÐí¡£
¡²Ï°Ìâ7.5¡³
PC/XT»úµÄROM-BIOS¶Ô8259AµÄ³õʼ»¯³ÌÐòÈçÏ£º mov al,13h out 20h,al mov al,08h out 21h,al mov al,09h out 21h,al
Çë˵Ã÷ÆäÉ趨µÄ¹¤×÷·½Ê½¡£ ¡²½â´ð¡³
¡²Ï°Ìâ7.6¡³
ijʱ¿Ì8259AµÄIRRÄÚÈÝÊÇ08H£¬ËµÃ÷______¡£Ä³Ê±¿Ì8259AµÄISRÄÚÈÝÊÇ08H£¬ËµÃ÷_______¡£ÔÚÁ½Æ¬8259A¼¶Á¬µÄÖжϵç·ÖУ¬Ö÷ƬµÄµÚ5¼¶IR5×÷Ϊ´ÓƬµÄÖжÏÇëÇóÊäÈ룬Ôò³õʼ»¯Ö÷¡¢´ÓƬʱ£¬ICW3µÄ¿ØÖÆ×Ö·Ö±ðÊÇ_______ºÍ_______¡£ ¡²½â´ð¡³
IR3Òý½ÅÓÐÖжÏÇëÇó
IR3ÕýÔÚ±»ÖжϷþÎñ£¬ÆäËü²»±»´¦Àí 20HºÍ05H¡£
19
¡²Ï°Ìâ7.11¡³
϶γÌÐò¶Á³öµÄÊÇ8259AµÄÄĸö¼Ä´æÆ÷£¿ mov al,0bh out 20h,al nop in al,20h ¡²½â´ð¡³
¶ÁÈ¡ÖжϷþÎñ¼Ä´æÆ÷ISRµÄÄÚÈÝ¡£
ÒòΪִÐÐÊäÈëÖ¸ÁA0£½0£©Ö®Ç°£¬Ö´ÐеÄÊä³öÖ¸ÁдÈëÁËOCW3£¨D4D3£½01£©£¬ÆäÖÐP RR RIS£¨D2D1D0£©£½011Ö¸Ã÷Ëæºó¶Á³öISR¡£
²»ÊDzéѯ×Ö¡£
20
µÚ8Õ ¶¨Ê±¼ÆÊý¿ØÖƽӿÚ
¡²Ï°Ìâ8.2¡³
8253ÿ¸ö¼ÆÊýͨµÀÓëÍâÉè½Ó¿ÚÓÐÄÄЩÐźÅÏߣ¬Ã¿¸öÐźŵÄÓÃ;ÊÇʲô£¿ ¡²½â´ð¡³
CLKʱÖÓÊäÈëÐźšª¡ªÔÚ¼ÆÊý¹ý³ÌÖУ¬´ËÒý½ÅÉÏÿÊäÈëÒ»¸öʱÖÓÐźţ¨Ï½µÑØ£©£¬¼ÆÊýÆ÷µÄ¼ÆÊýÖµ¼õ1
GATEÃÅ¿ØÊäÈëÐźšª¡ª¿ØÖƼÆÊýÆ÷¹¤×÷£¬¿É·Ö³Éµçƽ¿ØÖƺÍÉÏÉýÑØ¿ØÖÆÁ½ÖÖÀàÐÍ OUT¼ÆÊýÆ÷Êä³öÐźšª¡ªµ±Ò»´Î¼ÆÊý¹ý³Ì½áÊø£¨¼ÆÊýÖµ¼õΪ0£©£¬OUTÒý½ÅÉϽ«²úÉúÒ»¸öÊä³öÐźÅ
¡²Ï°Ìâ8.3¡³
8253ÿ¸öͨµÀÓÐ___ÖÖ¹¤×÷·½Ê½¿É¹©Ñ¡Ôñ¡£ÈôÉ趨ijͨµÀΪ·½Ê½0ºó£¬ÆäÊä³öÒý½ÅΪ___µçƽ£»µ±___ºóͨµÀ¿ªÊ¼¼ÆÊý£¬___ÐźŶËÿÀ´Ò»¸öÂö³å___¾Í¼õ1£»µ±___£¬ÔòÊä³öÒý½ÅÊä³ö___µçƽ£¬±íʾ¼ÆÊý½áÊø¡£8253µÄCLK0½Ó1.5MHzµÄʱÖÓ£¬ÓûʹOUT0²úÉúƵÂÊΪ300KHzµÄ·½²¨Ðźţ¬Ôò8253µÄ¼ÆÊýֵӦΪ___£¬Ó¦Ñ¡ÓõŤ×÷·½Ê½ÊÇ___¡£ ¡²½â´ð¡³
6 µÍ
дÈë¼ÆÊý³õÖµ£¨²¢½øÈë¼õ1¼ÆÊýÆ÷£© CLK
¼õ1¼ÆÊýÆ÷ ¼ÆÊýÆ÷¼õΪ0 ¸ß
5£¨£½1.5MHz¡Â300KHz£© 3 ¡²Ï°Ìâ8.4¡³
ÊÔ°´ÈçÏÂÒªÇó·Ö±ð±àд8253µÄ³õʼ»¯³ÌÐò£¬ÒÑÖª8253µÄ¼ÆÊýÆ÷0¡«2ºÍ¿ØÖÆ×ÖI/OµØÖ·ÒÀ´ÎΪ204H¡«207H¡£
¢Å ʹ¼ÆÊýÆ÷1¹¤×÷ÔÚ·½Ê½0£¬½öÓÃ8λ¶þ½øÖƼÆÊý£¬¼ÆÊý³õֵΪ128¡£ ¢Æ ʹ¼ÆÊýÆ÷0¹¤×÷ÔÚ·½Ê½1£¬°´BCDÂë¼ÆÊý£¬¼ÆÊýֵΪ3000¡£ ¢Ç ʹ¼ÆÊýÆ÷2¹¤×÷ÔÚ·½Ê½2£¬¼ÆÊýֵΪ02F0H¡£ ¡²½â´ð¡³
£¨1£©
mov al,50h
mov dx,207h out dx,al
mov al,128 £»80h
21
mov dx,205h
out dx,al £¨2£© mov al,33h mov dx,207h out dx,al
mov ax,3000h £»²»ÊÇ3000 mov dx,204h out dx,al mov al,ah out dx,al £¨3£© mov al,0b4h mov dx,207h out dx,al mov al,02f0h mov dx,206h out dx,al mov al,ah out dx,al
22
µÚ10Õ ²¢ÐнӿÚ
¡²Ï°Ìâ10.4¡³
É趨8255AµÄ¿ÚAΪ·½Ê½1ÊäÈ룬¿ÚBΪ·½Ê½1Êä³ö£¬Ôò¶ÁÈ¡¿ÚCµÄÊý¾ÝµÄ¸÷λÊÇʲôº¬Ò壿 ¡²½â´ð¡³
¡²Ï°Ìâ10.5¡³
¶Ô8255AµÄ¿ØÖƼĴæÆ÷дÈëB0H£¬ÔòÆä¶Ë¿ÚCµÄPC5Òý½ÅÊÇʲô×÷ÓõÄÐźÅÏߣ¿ ¡²½â´ð¡³
·½Ê½¿ØÖÆ×ÖΪB0H£½10110000B£¬ËµÃ÷A×éΪ·½Ê½1ÊäÈ룬Ëü½«Õ÷ÓÃPC5Òý½Å×÷Ϊ
ÊäÈ뻺³åÆ÷ÂúÐźÅIBFA
¡²Ï°Ìâ10.7¡³
µÚ10.2.3½ÚÓÃ8255A¶Ë¿ÚA·½Ê½1Óë´òÓ¡»ú½Ó¿Ú£¬Èç¹û²ÉÓö˿ÚB£¬ÆäËû²»±ä£¬Çë˵Ã÷ÈçºÎÐ޸Ľӿڵ緺ͳÌÐò¡£ ¡²½â´ð¡³
23
mov dx,0fffeh 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;µ÷ÓôòÓ¡×Ó³ÌÐò prints proc push ax ;±£»¤¼Ä´æÆ÷ push dx
print1: mov al,[bx] ;ȡһ¸öÊý¾Ý mov dx,0fffah out dx,al ;´Ó¶Ë¿ÚBÊä³ö mov dx,0fffch print2: in al,dx test al,02h ;¼ì²â£¨PC1£©Îª1·ñ? jz print2 inc bx loop print1 pop dx pop ax ret prints endp
¡²Ï°Ìâ10.8¡³
ÉèÒ»¹¤Òµ¿ØÖÆÏµÍ³£¬ÓÐËĸö¿ØÖƵ㣬·Ö±ðÓÉËĸö¶ÔÓ¦µÄÊäÈë¶Ë¿ØÖÆ£¬ÏÖÓÃ8255AµÄ¶Ë¿ÚCʵÏÖ¸ÃϵͳµÄ¿ØÖÆ£¬Èçͼ10-22¡£¿ª¹ØK0¡«K3´ò¿ªÔò¶ÔÓ¦·¢¹â¶þ¼«¹ÜL0¡«L3ÁÁ£¬±íʾϵͳ¸Ã¿ØÖƵãÔËÐÐÕý³££»¿ª¹Ø±ÕºÏÔò¶ÔÓ¦·¢¹â¶þ¼«¹Ü²»ÁÁ£¬ËµÃ÷¸Ã¿ØÖƵã³öÏÖ¹ÊÕÏ¡£±àд8255AµÄ³õʼ»¯³ÌÐòºÍÕâ¶Î¿ØÖƳÌÐò¡£ ¡²½â´ð¡³
£»Ð´È뷽ʽ×Ö mov al,100¡Á00¡Á1b mov dx,¿ØÖƿڵØÖ· out dx,al
£»£½81h
£»0fffeh
24
£»¼ÓÈëÏÂÒ»¶Î¸üºÃ£¬Ê¹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 ¡²Ï°Ìâ10.16¡³
Èçͼ10-23ΪÓÃһƬ8255A¿ØÖÆ8¸ö8¶Î¹²Òõ¼«LEDÊýÂë¹ÜµÄµç·¡£ÏÖÒªÇó°´ÏÂij¸ö¿ª¹Ø£¬Æä´ú±íµÄÊý×Ö£¨K1Ϊ1£¬K2Ϊ2£¬¡K8Ϊ8£©ÔÚÊýÂë¹Ü´Ó×óµ½ÓÒÑ»·ÏÔʾ£¨ÒÑÓÐÒ»¸öÑÓʱ×Ó³ÌÐòdelay¿ÉÒÔµ÷Óã©£¬Ö±µ½°´ÏÂÁíÒ»¸ö¿ª¹Ø¡£¼Ù¶¨8255AµÄÊý¾Ý¶Ë¿ÚA¡¢B¡¢C¼°¿ØÖƶ˿ڵĵØÖ·ÒÀ´ÎΪFFF8H¡«FFFBH¡£±àдÍê³ÉÉÏÊö¹¦ÄܵijÌÐò£¬Ó¦°üÀ¨8255AµÄ³õʼ»¯¡¢¿ØÖƳÌÐòºÍÊýÂë¹ÜµÄÏÔʾ´úÂë±í¡£ ¡²½â´ð¡³
ÏÔʾ´úÂë±í table db 0c0h £»¶ÔÓ¦0£¨ÈÎÒ⣩ db 0f9h,0a4h,0b0h,99h db 92h,82h,0f8h,80h £»¶ÔÓ¦1¡«8 8255A³õʼ»¯ mov dx,0fffbh mov al,10001001b £»£½89h out dx,al £»¿ØÖƳÌÐò
again0: mov dx,0fffah £»ÊäÈ뿪¹Ø×´Ì¬ in al,dx mov cx,8 £»È·¶¨Äĸö¿ª¹Ø±ÕºÏ mov ah,01h £»mov ah,08h again1: shr al,1 £»shl al,1 jnc disp0 inc ah £»dec ah loop again1 jmp disp1 ÏÔʾ×Ö¶Î
disp0: mov bx,offset table
25
mov al,ah
xlat
mov dx,0fff8h
out dx,al £»Êä³ö¶ÎÂë disp1: mov cx,8 £»Ñ»·ÏÔʾ8λ mov al,01h mov dx,0fff9h
disp2: out dx,al £»Êä³öλÂë call delay shl al,1 loop disp2 jmp again0
26