µÚÒ»ÕÂϰÌâ¼°´ð°¸
1. ΢´¦ÀíÆ÷ÄÚ²¿°üº¬ÄÄÈý´ó²¿·Ö£¿ ½â£º ÔËËãÆ÷¡¢¿ØÖÆÆ÷ºÍ¼Ä´æÆ÷×é¡£
2. Íê³ÉÏÂÁÐÊýÖÆµÄת»»
¢Ù10101101B=£¨ £©D=£¨ £©H ½â£º10101101B=173D=ADH¡£
¢Ú0.11B=£¨ £©D ½â£º0.11B=0.75D¡£
¢Û211.25=( )B =( )H ½â£º211.25=11010011.01B=D3.4H¡£
¢Ü10111.0101B=( )H=( )BCD
½â£º10111.0101B=17.5H=23.3125D=£¨0010 0011.0011 0001 0010 0101£©BCD
3. ÒÑÖªX=+1011010B£¬Y=¨C0011011B£¬Éè»úÆ÷ÊýΪ8룬·Ö±ðд³öX¡¢YµÄÔÂë¡¢·´ÂëºÍ²¹Âë¡£
½â£º
?X?Ô?01011010B?Y?Ô?10011011B ?X?·´?01011010B ?Y?·´?11100100B
?X?²¹?01011010B?Y?²¹?11100101B
4. ÒÑÖªXµÄÕæÖµÎª32£¬YµÄÕæÖµÎª¨C19£¬Çó?X?Y?²¹?? ½â£º?X?Y?²¹?00001101B
5. ÒÑÖªX=51£¬Y=¨C86£¬Óò¹ÂëÍê³ÉÏÂÁÐÔËË㣬²¢ÅжÏÊÇ·ñ²úÉúÒç³ö£¨Éè×Ö³¤Îª8룩¡£ ¢Ù X£«Y ¢Ú X£Y ¢Û ¨CX£«Y ¢Ü ¨CX£Y ½â£º
¢Ù?? 10100011B£¬ÒòΪC6?C7?0£¬ËùÒÔδ²úÉúÒç³ö¡£
[X]²¹=00110011B [Y]²¹=[Y]·´+1=[11010110]·´+1=10101001+1=10101010B [X+Y]²¹=[X]²¹+[Y]²¹=00110011B+10101010B=11011101B X+Y=[[X+Y]²¹] ²¹=[11011101] ²¹=10100010+1=10100011B ¡¤2¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
¢Ú 11110111B£¬ÒòΪC6?C7?1£¬ËùÒÔ²úÉúÒç³ö¡£ ¢Û 01110111B£¬ÒòΪC6?C7?1£¬ËùÒÔ²úÉúÒç³ö¡£ ¢Ü 00100011B£¬ÒòΪC6?C7?0£¬ËùÒÔδ²úÉúÒç³ö¡£
6. ÈôʹÓëÃŵÄÊä³ö¶ËÊä³ö¸ßµçƽ£¬Ôò¸÷ÊäÈë¶ËµÄ״̬ÊÇʲô£¿ ½â£º¸÷ÊäÈë¶ËΪ¸ßµçƽ¡£
7. ÈôʹÓë·ÇÃŵÄÊä³ö¶ËÊä³öµÍµçƽ£¬Ôò¸÷ÊäÈë¶ËµÄ״̬ÊÇʲô£¿ ½â£º¸÷ÊäÈë¶ËΪ¸ßµçƽ¡£
8. Èç¹û74LS138ÒëÂëÆ÷µÄY4¶ËÊä³öµÍµçƽ£¬ÔòC¡¢B¡¢AÈý¸öÊäÈë¶ËµÄ״̬·Ö±ðÊÇʲô£¿
½â£ºC¡¢B¡¢AÈý¸öÊäÈë¶ËµÄ״̬·Ö±ðÊÇ¡®1¡¯£¬¡®0¡¯£¬¡®0¡¯¡£
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤3¡¤
µÚ¶þÕÂϰÌâ¼°´ð°¸
1. 8086/8088CPUÓÉÄÄÁ½´ó¹¦Äܲ¿·ÖËù×é³É£¿¼òÊöËüÃǵÄÖ÷Òª¹¦ÄÜ? ½â£º8086/8088CPUÓÉEUºÍBIUÁ½´ó¹¦Äܲ¿·Ö×é³É¡£
Ö´Ðе¥ÔªEUÖ÷ÒªÍê³ÉÖ¸ÁîµÄÒëÂëºÍÖ´ÐС£Ö´Ðе¥ÔªÍ¨¹ýEU¿ØÖƵç·´ÓBIUÖÐÈ¡³öÖ¸Á¾¹ýÖ¸ÁîÒëÂëÐγɸ÷ÖÖ¶¨Ê±¿ØÖÆÐźţ¬ÏòEUÄÚ¸÷¹¦Äܲ¿¼þ·¢³öÏàÓ¦µÄ¿ØÖÆÃüÁÒÔÍê³ÉÖ¸ÁîËù¹æ¶¨µÄ²Ù×÷¡£
×ÜÏß½Ó¿Úµ¥ÔªBIUÊÇ8086/8088ͬÍⲿÁªÏµµÄ½Ó¿Ú¡£Ëü¸ºÔðËùÓÐÉæ¼°Íⲿ×ÜÏߵIJÙ×÷£¬°üÀ¨È¡Ö¸Áî¡¢¶Á²Ù×÷Êý¡¢Ð´²Ù×÷Êý¡¢µØÖ·×ª»»ºÍ×ÜÏß¿ØÖƵȡ£BIUÄÚ²¿ÉèÖÃÖ¸ÁîԤȡ¶ÓÁУ¬Ã¿µ±Ö¸Áî¶ÓÁÐÓÐÁ½¸ö»òÁ½¸öÒÔÉϵÄ×ֽڿռ䣬ÇÒÖ´Ðе¥ÔªÎ´ÏòBIUÉêÇë¶Á/д´æ´¢Æ÷²Ù×÷Êýʱ£¬BIU˳ÐòµØÔ¤È¡ºóÐøÖ¸ÁîµÄ´úÂ룬²¢ÌîÈëÖ¸Áî¶ÓÁÐÖС£µ±EUÖ´ÐеÄÊÇ×ªÒÆÖ¸Áîʱ£¬ÔòBIUÇå³ýµ±Ç°µÄÖ¸ÁîԤȡ¶ÓÁеÄÄÚÈÝ£¬´ÓеĵØÖ·È¡»ØÖ¸Á²¢Á¢¼´Ë͵½EUÈ¥Ö´ÐУ¬È»ºó£¬´ÓºóÐøµÄÖ¸ÁîÐòÁÐÖÐÈ¡»ØÖ¸ÁîÌîÂú¶ÓÁС£
2. ʲôÊÇÖ¸ÁîÁ÷Ë®Ïߣ¿Ö¸ÁîÁ÷Ë®ÏßÐèÒªÄÄЩӲ¼þÖ§³Ö£¿
½â£ºÖ¸ÁîÁ÷Ë®ÏßÊÇÖ¸8086/8088CPUÄÚ²¿µÄÖ´Ðе¥ÔªEUºÍ×ÜÏß½Ó¿Úµ¥ÔªBIUͨ¹ýÖ¸ÁîԤȡ¶ÓÁÐÐͬ¹¤×÷´Ó¶øÊµÏÖÖ¸ÁîµÄ²¢ÐÐÖ´ÐС£Ö¸ÁîÁ÷Ë®Ïß×îÖ÷ÒªµÄÓ²¼þÖ§³ÖÊÇBIUÄÚ²¿µÄÖ¸ÁîԤȡ¶ÓÁС£
3. Âß¼µØÖ·ÈçºÎת»»³ÉÎïÀíµØÖ·£¿ÒÑÖªÂß¼µØÖ·Îª2D1EH£º35B8H£¬¶ÔÓ¦µÄÎïÀíµØÖ·ÊÇʲô£¿
½â£ºÂß¼µØÖ·ÊǶλùÖ·ºÍ¶ÎÄÚÆ«ÒƵØÖ·ÐÎʽµÄµØÖ·¡£ ÎïÀíµØÖ·£½¶Î»ùÖ·¡Á16£«¶ÎÄÚÆ«ÒÆ
ÒÑÖªÂß¼µØÖ·Îª2D1EH£º35B8H£¬Ôò¶ÔÓ¦µÄÎïÀíµØÖ·?2D1EH?16?35B8H?30798H
4. 8088ºÍ8086µÄÖ¸ÁîԤȡ¶ÓÁеij¤¶È·Ö±ðÊǶàÉÙ£¿
½â£º8088µÄÖ¸ÁîԤȡ¶ÓÁеij¤¶ÈΪ4×Ö½Ú£»8086µÄÖ¸ÁîԤȡ¶ÓÁеij¤¶ÈΪ6×Ö½Ú¡£
5. ¼òÊö8086/8088CPUÄÚ²¿µÄ¸÷¼Ä´æÆ÷µÄ×÷Óá£
½â£ºAX¡¢BX¡¢CXºÍDXͨÓüĴæÆ÷Ò»°ãÓÃÓÚ´æ·Å²ÎÓëÔËËãµÄÊý¾Ý»òÔËËãµÄ½á¹û¡£ SP£ºÓÃÓÚ´æ·Å¶ÑÕ»Õ»¶¥µÄ¶ÎÄÚÆ«ÒÆÁ¿¡£ BP£ºÓÃÓÚ´æ·Å·ÃÎÊÄÚ´æÊ±µÄÆ«ÒÆµØÖ·¡£
SPºÍBPÒ²¿ÉÒÔÓÃÀ´´æ·ÅÊý¾Ý£¬ËüÃǵÄĬÈ϶μĴæÆ÷¶¼ÊÇSS¡£
SIºÍDIͨ³£ÔÚ¼ä½ÓѰַ·½Ê½Öдæ·Å²Ù×÷ÊýµÄÆ«ÒÆµØÖ·¡£ÔÚ´®²Ù×÷Ö¸ÁîÖУ¬DIµÄĬÈ϶μĴæÆ÷ÊÇES¡£SIºÍDIÒ²¿ÉÒÔÓÃÀ´´æ·ÅÊý¾Ý¡£
CS£º´úÂë¶Î¼Ä´æÆ÷£¬ÓÃÓÚ´æ·Å´úÂë¶ÎµÄ¶Î»ùÖ·¡£ DS£ºÊý¾Ý¶Î¼Ä´æÆ÷£¬ÓÃÓÚ´æ·ÅÊý¾Ý¶ÎµÄ¶Î»ùÖ·¡£ SS£º¶ÑÕ»¶Î¼Ä´æÆ÷£¬ÓÃÓÚ´æ·Å¶ÑÕ»¶ÎµÄ¶Î»ùÖ·¡£ ES£º¸½¼Ó¶Î¼Ä´æÆ÷£¬ÓÃÓÚ´æ·Å¸½¼Ó¶ÎµÄ¶Î»ùÖ·¡£
IP£ºÖ¸ÁîÖ¸Õë¼Ä´æÆ÷£¬ÓÃÓÚ´æ·ÅCPU¼´½«Ö´ÐеÄÏÂÒ»ÌõÖ¸ÁîÔÚ´úÂë¶ÎÖеĶÎÄÚÆ«ÒƵØÖ·¡£
FLAGS£º±êÖ¾¼Ä´æÆ÷£¬ÓÃÓÚ´æ·ÅÖ¸ÁîÖ´Ðнá¹ûµÄÌØÕ÷¡£
6. 8086/8088CPUÄÚ²¿µÄ״̬±êÖ¾¼Ä´æÆ÷¹²Óм¸Î»±ê־λ£¿¸÷λµÄº¬ÒåÊÇʲô£¿
¡¤4¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
½â£º×´Ì¬±êÖ¾¼Ä´æÆ÷¹²ÓÐ9λ±ê־룬ÆäÖаüº¬6¸ö״̬±ê־λºÍ3¸ö¿ØÖƱê־λ¡£ ״̬±ê־λ£º
CF£¨Carry Flag£©£º½øÎ»±êÖ¾¡£µ±ËãÊõÔËËã½á¹ûʹ×î¸ßλ²úÉú½øÎ»»ò½èλʱ£¬ÔòCF=1£»·ñÔòCF=0¡£
PF£¨Parity Flag£©£ºÆæÅ¼±êÖ¾¡£ÈôÔËËã½á¹ûÖеĵÍ8λº¬ÓÐżÊý¸ö1£¬ÔòPF=1£»·ñÔòPF=0¡£
AF£¨Auxiliary carry Flag£©£º¸¨Öú½øÎ»±êÖ¾¡£ÔËËã¹ý³ÌÖÐÈôD3λÏòD4ÓнøÎ»»ò½èλʱ£¬AF=1£»·ñÔòAF=0¡£
ZF£¨Zero Flag£©£ºÁã±êÖ¾¡£ÈôÔËËã½á¹ûΪ0£¬ÔòZF=1£»·ñÔòZF=0¡£ SF£¨Sign Flag£©£º·ûºÅ±êÖ¾¡£ÈôÔËËã½á¹ûΪ¸º£¬ÔòSF=1£»·ñÔòSF=0¡£
OF£¨Overflow Flag£©£ºÒç³ö±êÖ¾¡£µ±´ø·ûºÅÊýµÄ²¹ÂëÔËËã½á¹û³¬³ö»úÆ÷ËùÄܱí´ïµÄ·¶Î§Ê±£¬¾Í»á²úÉúÒç³ö£¬ÕâʱOF=1£»·ñÔòOF=0¡£
¿ØÖƱê־λ£º DF£¨Direction Flag£©£º·½Ïò±êÖ¾¡£¿ØÖÆ´®²Ù×÷Ö¸ÁîµÄµØÖ·±ä»¯µÄ·½Ïò¡£µ±DF=0ʱ£¬´®²Ù×÷Ö¸ÁîµÄµØÖ·Ö¸Õë°´ÔöÁ¿±ä»¯£»µ±DF=1ʱ£¬´®²Ù×÷Ö¸ÁîµÄµØÖ·Ö¸Õë°´¼õÁ¿±ä»¯¡£
IF£¨Interrupt Flag£©£ºÖжÏÔÊÐí±êÖ¾¡£¿ØÖÆÎ¢´¦ÀíÆ÷ÊÇ·ñÔÊÐíÏìÓ¦¿ÉÆÁ±ÎÖжÏÇëÇó¡£ÈôIF=1£¬ÔòÔÊÐíÏìÓ¦£»·ñÔò½ûÖ¹ÏìÓ¦¡£
TF£¨Trap Flag£©£ºµ¥²½±êÖ¾¡£TF=1ʱ£¬CPU¹¤×÷ÔÚµ¥²½·½Ê½¡£
7. 8086/8088ϵͳÖд洢Æ÷µÄ·Ö¶ÎÔÔòÊÇʲô£¿
½â£º·Ö¶ÎÔÔòÊÇÒªÇó¶ÎµÄÆðʼµ¥ÔªµÄÎïÀíµØÖ·ÊÇ16µÄÕûÊý±¶£¬Ã¿¶ÎµÄÎïÀí³¤¶ÈΪ64KB¡£
8. µ±ALEÓÐЧʱ£¬8088µÄµØÖ·/Êý¾Ý×ÜÏßÉϽ«³öÏÖʲôÐÅÏ¢£¿ ½â£ºµ±ALEÓÐЧʱ£¬8088µÄµØÖ·/Êý¾Ý×ÜÏßÉϽ«³öÏÖµØÖ·ÐÅÏ¢¡£
9. READY¹Ü½ÅµÄ×÷ÓÃÊÇʲô£¿
½â£ºREADYÓÃÓÚ΢´¦ÀíÆ÷ʱÐòÖвåÈëµÈ´ý״̬¡£Èô¸ÃÒý½Å±»ÖÃΪµÍµçƽ£¬Ôò΢´¦ÀíÆ÷½øÈëµÈ´ý״̬²¢±£³Ö¿ÕÏУ»Èô¸ÃÒý½Å±»ÖÃΪ¸ßµçƽ£¬ÔòËü¶Ô΢´¦ÀíÆ÷µÄ²Ù×÷²»²úÉúÓ°Ïì¡£
CPUÔÚ¶Á¡¢Ð´²Ù×÷ʱÐòÖеÄT3ʱÖÓÖÜÆÚ¿ªÊ¼´¦£¬Í¨¹ý¼ì²âREADY¹Ü½ÅµÄ״̬À´¾ö¶¨ÊÇ·ñ²åÈëTWµÈ´ýʱÖÓÖÜÆÚ£¬ÒÔ½â¾öCPUÓë´æ´¢Æ÷»òI/O½Ó¿ÚÖ®¼äËٶȲ»Æ¥ÅäµÄì¶Ü¡£
10. ΪʲôÔÚ»ùÓÚ8086/8088µÄϵͳÖо³£ÐèҪʹÓûº³åÆ÷£¿
½â£ºÓÉÓÚ»ùÓÚ8086/8088µÄϵͳÇý¶¯ÄÜÁ¦µÄ²»×㣬ÐèҪʹÓûº³åÆ÷¡£
11. 8088¹¤×÷ÔÚ×îСģʽϰüº¬ÄÄЩ¿ØÖÆÐźţ¿
½â£º×îСģʽϰüº¬µÄ¿ØÖÆÐźÅÓУº RD¡¢WR¡¢IO/M¡¢ALE¡¢DT/R¡¢DENºÍINTAµÈÐźš£
12. ÈôCS=4000H£¬Ôòµ±Ç°´úÂë¶Î¿ÉѰַµÄ´æ´¢¿Õ¼ä·¶Î§ÊǶàÉÙ£¿
½â£ºCS=4000Hʱ£¬µ±Ç°´úÂë¶Î¿ÉѰַµÄ´æ´¢¿Õ¼ä·¶Î§Îª40000H~4FFFFH¡£
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤5¡¤
µÚÈýÕÂϰÌâ¼°´ð°¸
1. ʲô½ÐѰַ·½Ê½£¿8086Ö¸ÁîϵͳÖÐÓÐÄļ¸ÖÖѰַ·½Ê½£¿
½â£ºÑ°Ö··½Ê½£¬¼´»ñµÃµØÖ·µÄ·½·¨£¬Ö÷ÒªÖ¸»ñµÃ¶ÎÄÚÆ«ÒƵØÖ·µÄ·½·¨£¬¶Î»ùÖ·³£²ÉÓÃĬÈÏ·½Ê½»ñµÃ¡£8086CPUÖ¸ÁîϵͳµÄѰַ·½Ê½ÓÐÁ½Àࣺ»ñµÃÖ¸ÁîÖвÙ×÷ÊýµØÖ·µÄ·½·¨¡£»ñµÃÒªÖ´ÐеÄÏÂÒ»ÌõÖ¸ÁîµÄµØÖ·µÄ·½·¨¡£
8086Ö¸ÁîϵͳÖÐÓÐ8ÖÖ²Ù×÷ÊýѰַ·½Ê½£¬Á¢¼´Ñ°Ö·¡£¡£¡£¡£¡£¡£¡£
2. ÏÂÁÐÖ¸ÁîÖÐBUFFΪ×Ö½ÚÀàÐͱäÁ¿£¬DATAΪ³£Á¿£¬Ö¸³öÏÂÁÐÖ¸ÁîÖÐÔ´²Ù×÷ÊýµÄѰַ·½Ê½£º
£¨1£©MOV AX, 1200 £¨2£©MOV AL, BUFF £¨3£©SUB BX, [2000H] £¨4£©MOV CX, [SI]
£¨5£©MOV DX, DATA[SI] £¨6£©MOV BL, [SI][BX] £¨7£©MOV [DI], AX
£¨8£©ADD AX, DATA[DI+BP] £¨9£©PUSHF
£¨10£©MOV BX, ES:[SI]
½â£º £¨1£©MOV AX, 1200 ;Á¢¼´Ñ°Ö·
£¨2£©MOV AL, BUFF ;Ö±½ÓѰַ £¨3£©SUB BX, [2000H] ;Ö±½ÓѰַ £¨4£©MOV CX, [SI] ;¼Ä´æÆ÷¼ä½ÓѰַ £¨5£©MOV DX, DATA[SI] ;¼Ä´æÆ÷Ïà¶ÔѰַ £¨6£©MOV BL, [SI][BX] ;»ùÖ·±äַѰַ £¨7£©MOV [DI], AX ;¼Ä´æÆ÷Ѱַ
£¨8£©ADD AX, DATA[DI+BP] ;»ùÖ·±äÖ·Ïà¶ÔѰַ £¨9£©PUSHF ;Òþº¬Ñ°Ö· £¨10£©MOV BX, ES:[SI] ;¼Ä´æÆ÷¼ä½ÓѰַ
3. Ö¸³öÏÂÁÐÖ¸ÁîµÄ´íÎ󲢸ÄÕý¡£
£¨1£©MOV DS, 1200 £¨2£©MOV AL, BX £¨3£©SUB 33H, AL £¨4£©PUSH AL £¨5£©MUL 45H £¨6£©MOV [BX], [SI]
£¨7£©MOVS BYTE PTRDS:[DI], BYTE PTR DS:[SI] £¨8£©ADD DATA[DI+BP], ES:[CX] £¨9£©JMP BYTE PTR[SI] £¨10£©OUT 3F8H, AL ½â£º
£¨1£©MOV DS, 1200 ;²»ÄÜÓÃÁ¢¼´Êý¸ø¶Î»ùÖ·¼Ä´æÆ÷¸³Öµ £¨2£©MOV AL, BX ;²Ù×÷ÊýÀàÐͲ»Ò»ÖÂ
¡¤6¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
£¨3£©SUB 33H, AL ;Á¢¼´Êý²»ÄÜ×÷ΪĿµÄ²Ù×÷Êý £¨4£©PUSH AL ;ѹջָÁîµÄ²Ù×÷Êý±ØÐëÊÇ×ÖÀàÐÍ £¨5£©MUL 45H ;³Ë·¨Ö¸ÁîÖеIJÙ×÷Êý²»ÄÜÊÇÁ¢¼´Êý £¨6£©MOV [BX], [SI] ;Ô´ºÍÄ¿µÄ²Ù×÷Êý²»ÄÜͬʱΪÄÚ´æ²Ù×÷Êý £¨7£©MOVS BYTE PTR DS:[DI], BYTE PTR DS:[SI] ; Ä¿µÄ²Ù×÷ÊýÓ¦¸ÃÔÚES¶Î¡£ £¨8£©ADD DATA[DI+BP], ES:[CX] ;CX²»ÄÜ×ö¼äÖ·¼Ä´æÆ÷ʹÓà £¨9£©JMP BYTE PTR[SI] ;²Ù×÷Êý±ØÐëÊÇ×ÖÀàÐÍ £¨10£©OUT 3F8H, AL ;16λµÄ¶Ë¿ÚµØÖ·²»ÄÜÖ±½ÓÔÚÊäÈëÊä³öÖ¸ÁîÖÐʹÓá£
4. ¸ù¾ÝÒªÇóд³öÒ»Ìõ£¨»ò¼¸Ìõ£©»ã±àÓïÑÔÖ¸Áî¡£
£¨1£©½«Á¢¼´Êý4000HËÍÈë¼Ä´æÆ÷BX¡£ £¨2£©½«Á¢¼´Êý4000HËÍÈë¶Î¼Ä´æÆ÷DS¡£
£¨3£©½«±äÖ·¼Ä´æÆ÷DIµÄÄÚÈÝËÍÈëÊý¾Ý¶ÎÖÐ2000HµÄ´æ´¢µ¥Ôª¡£ £¨4£©°ÑÊý¾Ý¶ÎÖÐ2000H´æ´¢µ¥ÔªµÄÄÚÈÝËͶμĴæÆ÷ES¡£ £¨5£©½«Á¢¼´Êý3DHÓëALÏà¼Ó£¬½á¹ûËÍ»ØAL¡£ £¨6£©°ÑBXÓëCX¼Ä´æÆ÷ÄÚÈÝÏà¼Ó£¬½á¹ûËÍÈëBX¡£
£¨7£©¼Ä´æÆ÷BXÖеĵÍ4λÄÚÈݱ£³Ö²»±ä,ÆäËûλ°´Î»È¡·´£¬½á¹ûÈÔÔÚBXÖС£ £¨8£©ÊµÏÖAXÓë-128µÄ³Ë»ýÔËËã¡£
£¨9£©ÊµÏÖCXÖиߡ¢µÍ8λÄÚÈݵĽ»»»¡£
£¨10£©½«DXÖÐD0¡¢D4¡¢D8λÖÃ1£¬ÆäÓàλ±£³Ö²»±ä¡£ ½â£º
£¨1£©½«Á¢¼´Êý4000HËÍÈë¼Ä´æÆ÷BX¡£
MOV BX,4000H
£¨2£©½«Á¢¼´Êý4000HËÍÈë¶Î¼Ä´æÆ÷DS¡£
MOV AX, 4000H MOV DS, AX
£¨3£©½«±äÖ·¼Ä´æÆ÷DIµÄÄÚÈÝËÍÈëÊý¾Ý¶ÎÖÐ2000HµÄ´æ´¢µ¥Ôª¡£
MOV [2000H],DI
£¨4£©°ÑÊý¾Ý¶ÎÖÐ2000H´æ´¢µ¥ÔªµÄÄÚÈÝËͶμĴæÆ÷ES¡£
MOV AX,[2000H] MOV ES,AX
£¨5£©½«Á¢¼´Êý3DHÓëALÏà¼Ó£¬½á¹ûËÍ»ØAL¡£
ADD AL,3DH
£¨6£©°ÑBXÓëCX¼Ä´æÆ÷ÄÚÈÝÏà¼Ó£¬½á¹ûËÍÈëBX¡£
ADD BX,CX
£¨7£©¼Ä´æÆ÷BXÖеĵÍ4λÄÚÈݱ£³Ö²»±ä,ÆäËûλ°´Î»È¡·´£¬½á¹ûÈÔÔÚBXÖС£
MOV AX, BX, NOT AX
AND AX,0FFF0H AND BX,000FH OR BX,AX
£¨8£©ÊµÏÖAXÓë-128µÄ³Ë»ýÔËËã¡£
MOV BX,-128 IMUL BX
£¨9£©ÊµÏÖCXÖиߡ¢µÍ8λÄÚÈݵĽ»»»¡£
MOV AL,8
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤7¡¤
ROL CX AL
£¨10£©½«DXÖÐD0¡¢D4¡¢D8λÖÃ1£¬ÆäÓàλ±£³Ö²»±ä¡£
0R DX,0111H
5. ÉèSS=2000H£¬SP=1000H£¬SI=2300£¬DI=7800£¬BX=9A00H¡£ËµÃ÷Ö´ÐÐÏÂÃæÃ¿ÌõÖ¸Áîʱ£¬¶ÑÕ»ÄÚÈݵı仯ºÍ¶ÑÕ»Ö¸ÕëµÄÖµ¡£
PUSH SI PUSH DI POP BX
½â£ºPUSH SI
£¨0FFFH£©=23H £¨0FFEH£©=00H SP=0FFEH PUSH DI
£¨0FFDH£©=78H £¨0FFCH£©=00H SP=0FFCH POP BX BX=7800H SP=0FFEH
6. ÄÚ´æÖÐ18FC0H¡¢18FC1H¡¢18FC2Hµ¥ÔªµÄÄÚÈÝ·Ö±ðΪ23H¡¢55¡¢5AH£¬DS=1000H£¬BX=8FC0H£¬SI=1£¬Ö´ÐÐÏÂÃæÁ½ÌõÖ¸ÁîºóAX=£¿DX=?
MOV AX, [BX+SI] LEA DX, [BX+SI] ½â£ºAX=5A55H
DX=8FC1H
7. »Ø´ðÏÂÁÐÎÊÌ⣺
£¨1£©ÉèAL=7FH£¬Ö´ÐÐCBWÖ¸Áîºó£¬AX=?
£¨2£©ÉèAX=8A9CH£¬Ö´ÐÐCWDÖ¸Áîºó£¬AX=£¿DX=? ½â£º£¨1£©ÉèAL=7FH£¬Ö´ÐÐCBWÖ¸Áîºó£¬AX=007FH
£¨2£©ÉèAX=8A9CH£¬Ö´ÐÐCWDÖ¸Áîºó£¬AX=8A9CH DX=FFFFH
8. Ö´ÐÐÒÔÏÂÁ½ÌõÖ¸Áîºó£¬FLAGSµÄ6¸ö״̬±ê־λµÄÖµÊÇʲô£¿
MOV AX, 847BH ADD AX, 9438H ½á¹ûΪ118B3H
½â£ºCF=1 PF=0£¨ÎªÔËËã½á¹ûµÄµÍ8Î»ÆæÅ¼£© AF=1 ZF=0 SF=0 OF=1
9. ÏÂÃæ³ÌÐò¶Î½«03E8Hת»»³ÉÊ®½øÖÆÊý²¢ÏÔʾ£¬ÌîдָÁîºóµÄ¿Õ¸ñ¡£
MOV AX, 03E8H ;AH= 03H , AL= E8H MOV CX, 4
MOV DI, 2000H ;DI= 2000H
MOV BX, 10 ;BH= 00 , BL= 0AH GO0: SUB DX, DX ;CF= 0 , ZF= 1
¡¤8¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
DIV BX ;AX= 64H , DX= 0 MOV [DI], DL ;[DI]= 0 INC DI
LOOP GO0 ;CX= 3 MOV CX, 4 GO1: DEC DI ;DI= 2003H
MOV DL, [DI] ;DL=01 OR DL, 30H ;DL= 31H
MOV AH, 02 ;ÏÔʾ1λʮ½øÖÆÊý1 INT 21H LOOP GO1
10. Óô®²Ù×÷Ö¸ÁîÌæ»»ÒÔϳÌÐò¶Î£º
ABC£ºMOV AL, [SI] MOV ES:[DI], AL INC SI INC DI LOOP ABC ½â£ºREP MOVSB
11. ÉèAX=AAH£¬Ë³ÐòÖ´ÐÐÏÂÁи÷ÌõÖ¸ÁÌîд¿Õ¸ñ¡£
£¨1£©XOR AX, 0FFFFH ;AX= £¨2£©AND AX, 13A0H ;AX= £¨3£©OR AX, 25C9H ;AX= £¨4£©TEST AX, 0004H ;AX= ½â£º £¨1£©XOR AX, 0FFFFH ;AX= FF55H
£¨2£©AND AX, 13A0H ;AX= 00A0H £¨3£©OR AX, 25C9H ;AX= 25EBH £¨4£©TEST AX, 0004H ;AX= 00AAH
12. ÊÔд³öÖ´ÐÐÏÂÁÐ3ÌõÖ¸ÁîºóBX¼Ä´æÆ÷µÄÄÚÈÝ¡£
MOV CL£¬2H MOV BX£¬CO2DH SHR BX£¬CL ½â£º BX=300BH
13. Ö´ÐÐÏÂÁгÌÐò¶Îºó£¬AX¡¢BXµÄÄÚÈݸ÷ÊÇʲô£¿
£¨1£© MOV AX,0001H
MOV BX,8000H
NEG AX £»0-0001H MOV CX,4 AA£ºSHL AX,1 RCL BX,1 LOOP AA HLT
½â£ºAX=FFF0H BX=000FH
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤9¡¤
£¨2£©MOV AX£¬0 MOV BX£¬1 MOV CX£¬100 A£º ADD AX£¬BX INC BX LOOP A HLT
½â£ºAX=8080H BX=0101H
14. ±àд³ÌÐò¶Î£¬ÊµÏÖÏÂÊöÒªÇó£º
£¨1£© ʹAX¼Ä´æÆ÷µÄµÍ4λÇå0£¬ÆäÓàλ²»±ä¡£ £¨2£© ʹBX¼Ä´æÆ÷µÄµÍ4λÖÃ1£¬ÆäÓàλ²»±ä¡£
£¨3£© ²âÊÔAXµÄµÚ0λºÍµÚ4룬Á½Î»¶¼ÊÇ1ʱ½«ALÇå0¡£
£¨4£© ²âÊÔAXµÄµÚ0λºÍµÚ4룬Á½Î»ÖÐÓÐÒ»¸öΪ1ʱ½«ALÇå0¡£ ½â£º
£¨1£©Ê¹AX¼Ä´æÆ÷µÄµÍ4λÇå0£¬ÆäÓàλ²»±ä¡£ AND AX, 0FFF0H
£¨2£© ʹBX¼Ä´æÆ÷µÄµÍ4λÖÃ1£¬ÆäÓàλ²»±ä¡£
OR AX, 0FH
£¨3£©²âÊÔAXµÄµÚ0λºÍµÚ4룬Á½Î»¶¼ÊÇ1ʱ½«ALÇå0¡£
TEST AX,01H JZ AA
TEST AX,10H JZ AA MOV AL,0 HLT AA: ......
£¨4£©²âÊÔAXµÄµÚ0λºÍµÚ4룬Á½Î»ÖÐÓÐÒ»¸öΪ1ʱ½«ALÇå0¡£
TEST AX, 11H JZ AA MOV AL,0 AA: .......
15. ±àд³ÌÐò¶Î£¬Íê³É°ÑAXÖеÄ16½øÖÆÊýת»»ÎªASCIIÂ룬²¢½«¶ÔÓ¦µÄASCIIÂëÒÀ´Î´æÈëMEM¿ªÊ¼µÄ´æ´¢µ¥ÔªÖС£ÀýÈ磬µ±AXµÄÄÚÈÝΪ37B6Hʱ£¬MEM¿ªÊ¼µÄ4 ¸öµ¥ÔªµÄÄÚÈÝÒÀ´ÎΪ33H£¬37H£¬42H£¬36H¡£ ½â£º
MOV CX,4 LEA SI,MEM ADD SI,3 ;SIÖ¸ÏòMEM+3 CC: MOV BX,AX ;±£´æÔʼÊý¾Ý
AND AX, 000FH ;È¡¸öλÊý CMP AL, 9 JA AA ;ÔÚA~BÖ®¼ä¾Í¼Ó37H
¡¤10¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
ADD AL,30H ;ÔÚ0~9Ö®¼ä¾Í¼Ó30H JMP BB AA: ADD AL,37H BB: MOV [SI],AL ;±£´æASCIIÖµ
DEC SI PUSH CX MOV AX,BX MOV CL,4 SHR AX,CL ;×¼±¸È¡ÏÂÒ»¸öÊý POP CX LOOP CC
16. ±àд³ÌÐò¶Î£¬Çó´ÓTABLE¿ªÊ¼µÄ10¸öÎÞ·ûºÅÊýµÄºÍ£¬½á¹û·ÅÔÚSUMµ¥ÔªÖС£ ½â£º LEA SI,TABLE MOV CX,10 XOR AX,AX NEXT: ADD AL,[SI] ADC AH,0 INC SI LOOP NEXT MOV SUM,AX
17. ±àд³ÌÐò¶Î£¬´Ó¼üÅÌÉÏÊäÈë×Ö·û´®¡®HELLO¡¯£¬²¢ÔÚ´®Î²¼Ó½áÊø±êÖ¾¡®$¡¯¡£ ½â£º LEA DX,STRING ;ÉèÖÃ×Ö·û´®´æ·Å»º³åÇøÊ×µØÖ· MOV AH ,0AH ;µ÷ÓÃ10ºÅ¹¦ÄÜ£¬ÊäÈë×Ö·û´® INT 21H
MOV CL,STRING+1 ;ʵ¼Ê¼üÈëµÄ×Ö·û¸öÊýËÍCL XOR CH,CH
ADD DX, 2 ADD DX,CX £»µÃµ½×Ö·û´®Î²µØÖ· MOV BX,DX MOV BYTE PTR[BX],'$'
18. ±àд³ÌÐò¶Î£¬ÔÚÆÁÄ»ÉÏÒÀ´ÎÏÔʾ1¡¢2¡¢3¡¢A¡¢B¡¢C¡£ ½â£º LEA BX,STR ;STRΪ6¸ö×Ö·ûµÄ´æ·ÅÇøÓòÊ×µØÖ· MOV CX,6 LPP: MOV AH,2 MOV DL,[BX] INC BX INT 21H ;ÀûÓÃ2ºÅ¹¦Äܵ÷ÓÃÒÀ´ÎÏÈÉú6¸ö×Ö·û LOOP LPP
19. ±àд³ÌÐò¶Î£¬ÔÚÆÁÄ»ÉÏÏÔʾ×Ö·û´®¡°Hello World¡±¡£ ½â£º LEA DX,STRING ; STRING×Ö·ûµÄ´æ·ÅÇøÓòÊ×µØÖ· MOV AH,09H INT 21H ; ÀûÓÃ9ºÅ¹¦Äܵ÷ÓÃÏÔʾ×Ö·û´®
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤11¡¤
20. ±àд³ÌÐò¶Î£¬°ÑÄÚ´æÖÐÊ×µØÖ·ÎªMEM1µÄ200¸ö×Ö½ÚË͵½Ê×µØÖ·ÎªMEM2µÄÇøÓò¡£
½â£º MOV AX£¬SEG MEM1
MOV DS£¬AX £»É趨Դ´®¶ÎµØÖ· MOV AX£¬SEG MEM2 MOV ES£¬AX £»É趨Ŀ±ê´®¶ÎµØÖ· MOV SI£¬0 £»É趨Դ´®Æ«ÒƵØÖ· MOV DI£¬0 £»É趨Ŀ±ê´®Æ«ÒƵØÖ· MOV CX£¬200 £»´®³¤¶ÈËÍCX CLD £»£¨DF£©=0£¬Ê¹µØÖ·Ö¸Õë°´ÔöÁ¿·½ÏòÐÞ¸Ä REP MOVSB £»Ã¿´Î´«ËÍÒ»¸ö×Ö½Ú£¬²¢×Ô¶¯ HLT
21. ±àд³ÌÐò¶Î£¬ÒÔ4000HΪÆðʼµØÖ·µÄ32¸öµ¥ÔªÖдæÓÐ32¸öÓзûºÅÊý£¬Í³¼ÆÆäÖиºÊýµÄ¸öÊý£¬²¢½«Í³¼Æ½á¹û±£´æÔÚBUFFERµ¥ÔªÖС£ ½â£ºSTART: MOV DI,OFFSET BUFFER
XOR AL,AL MOV [DI],AL MOV SI,4000H MOV CX,32 AA: MOV AL,[SI] OR AL,AL JNS X1 INC [DI] X1: INC SI NEXT:LOOP AA HLT
¡¤12¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
µÚËÄÕÂϰÌâ¼°´ð°¸
1. ʲô½Ð»ã±à£¿»ã±àÓïÑÔÔ´³ÌÐòµÄ´¦Àí¹ý³ÌÊÇʲô£¿
½â£ºÈκÎCPU¶¼Ö»ÄÜÖ´ÐлúÆ÷ÓïÑÔ³ÌÐò¡£»ã±àÓïÑÔ²»ÊÇ»úÆ÷ÓïÑÔ£¬»ã±àÓïÑÔ³ÌÐò±ØÐëͨ¹ý¾ßÓС°·Ò롱¹¦ÄܵÄϵͳ³ÌÐòµÄ´¦Àí£¬´¦ÀíµÄ¹ý³Ì³ÆÎª»ã±à¡£
»ã±àÓïÑÔÔ´³ÌÐò¾¹ý»ã±àÉú³É»úÆ÷ÓïÑÔÄ¿±ê³ÌÐò£¬¼ò³ÆÄ¿±ê³ÌÐò¡£Ä¿±ê³ÌÐò¾¹ýÁ¬½Ó³ÌÐòÁ¬½Ó£¬¾ÍµÃµ½¿ÉÖ´ÐеĻúÆ÷ÓïÑÔ³ÌÐòÎļþ¡£
2. »ã±àÓïÑÔµÄÓï¾äÀàÐÍÓÐÄÄЩ£¿¸÷ÓÐÊ²Ã´ÌØµã£¿
½â£º»ã±àÓïÑÔµÄÓï¾äÀàÐÍÓÐÁ½ÖÖ£ºÖ¸Ê¾ÐÔÓï¾äºÍÖ¸ÁîÐÔÓï¾ä¡£Ö¸Ê¾ÐÔÓï¾ä¿ÉÒÔλÓÚÈκζÎÖУ¬Ö¸ÁîÐÔÓï¾ä±ØÐëλÓÚ´úÂë¶ÎÄÚ¡£ ? ָʾÐÔÓï¾ä
ÓÖ³ÆÎªÎ±²Ù×÷Óï¾ä£¬Ëü²»ÊÇ8088/8086CPUµÄÖ¸ÁËüÓë»ã±à³ÌÐò£¨assembler£©Óйء£Ö¸Ê¾ÐÔÓï¾äµÄ¹¦ÄÜÖ÷ÒªÊDZäÁ¿¶¨Ò塢ΪÊý¾Ý·ÖÅä´æ´¢¿Õ¼ä¡¢¸æËß»ã±à³ÌÐòÈçºÎ¶ÔÔ´³ÌÐò»ã±àµÈ¡£Ô´³ÌÐò»ã±àºóָʾÐÔÓï¾ä²»Éú³ÉÄ¿±ê´úÂ룬ËùÒÔ³£±»³ÆÎªÎ±Ö¸Áî¡£ ? Ö¸ÁîÐÔÓï¾ä
Ö¸ÁîÐÔÓï¾äÊÇ¿ÉÖ´ÐÐÓï¾ä£¬ÊÇ8088/8086CPUµÄÖ¸Áî¡£Ô´³ÌÐò»ã±àºóÖ¸ÁîÐÔÓï¾äÉú³ÉÄ¿±ê´úÂë¡£µÚ3ÕÂÖнéÉܵÄËùÓÐÖ¸Áî¶¼ÊÇÖ¸ÁîÐÔÓï¾äµÄÖ÷Ì壬Æä²Ù×÷Êý×î¶àÖ»ÄÜÓÐÁ½¸ö¡£
3. »ã±àÓïÑÔÔ´³ÌÐòµÄ»ù±¾½á¹¹ÊÇʲô£¿
½â£º»ã±àÓïÑÔÔ´³ÌÐòÓÉÈô¸É¶Î×é³É£ºÊý¾Ý¶Î¡¢¸½¼þÊý¾Ý¶Î¡¢¶ÑÕ»¶ÎºÍ´úÂë¶ÎµÈ£¬¶ÎÓë¶ÎÖ®¼äµÄ˳Ðò¿ÉÒÔËæÒâÅÅÁУ¬Ã¿Ò»¶ÎÓÉSEGMENT¿ªÊ¼£¬ÒÔENDS½áÊø£¬Ã¿¶ÎµÄ¿ªÊ¼ºÍ½áÊø¶¼¸½ÓÐÏàͬµÄÃû×Ö¡£Ò»¸ö³ÌÐòÒ»°ã¶¨ÒåÈý¸ö¶Î£ºÊý¾Ý¶Î¡¢¶ÑÕ»¶ÎºÍ´úÂë¶Î£¬±ØÒªÊ±Ôö¼Ó¶¨Ò帽¼ÓÊý¾Ý¶Î£¬ÄܶÀÁ¢ÔËÐеijÌÐòÖÁÉÙ°üº¬Ò»¸ö´úÂë¶Î¡£
4. д³öÍê³ÉÏÂÊöÒªÇóµÄ±äÁ¿¶¨ÒåµÄÓï¾ä£º
£¨1£© Ϊ»º³åÇøBUFF±£Áô200¸ö×Ö½ÚµÄÄÚ´æ¿Õ¼ä £¨2£© ½«×Ö·û´®¡¯BYTE¡¯£¬¡¯WORD¡¯´æ·ÅÓÚijÊý¾ÝÇø
£¨3£© ÔÚÊý¾ÝÇøÖдæÈëÏÂÁÐ5¸öÊý¾Ý£º2040H,0300H,10H,0020H,1048H ½â£º
£¨1£©Îª»º³åÇøBUFF±£Áô200¸ö×Ö½ÚµÄÄÚ´æ¿Õ¼ä
BUFF DB 200 DUP(?)
£¨2£©½«×Ö·û´®¡¯BYTE¡¯£¬¡¯WORD¡¯´æ·ÅÓÚijÊý¾ÝÇø
DB ¡®BYTE¡¯,¡¯WORD¡¯
£¨3£©ÔÚÊý¾ÝÇøÖдæÈëÏÂÁÐ5¸öÊý¾Ý£º2040H,0300H,10H,0020H,1048H DW 2040H,0300H,10H,0020H,1048H
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤13¡¤
5. »³öÏÂÃæÊý¾Ý¶Î»ã±àºóµÄÄÚ´æÍ¼£¬²¢±ê³ö±äÁ¿µÄλÖᣠDATA SEGMENT
AA EQU 78H
AA0 DB 09H,-2,45H,2 DUP£¨01H, £¿£©,¡¯AB¡¯ AA1 DW -2,34H+AA
AA2 DD 12H £»Ë«×ÖÀàÐÍ
DATA ENDS
½â£ºÈçͼËùʾ¡£
6. Éè³ÌÐòÖеÄÊý¾Ý¶¨ÒåÈçÏ£º
NAME DB 30 DUP£¨?£© LIST DB 1£¬8£¬3£¬2 ADDR DW 30 DUP£¨?£© £¨1£© È¡NAMEµÄÆ«ÒÆµØÖ··ÅÈëSI £¨2£© È¡LISTµÄǰÁ½¸ö×Ö½Ú´æÈëAX £¨3£© È¡LISTʵ¼Ê³¤¶È
½â£º£¨1£©È¡NAMEµÄÆ«ÒÆµØÖ··ÅÈëSI
MOV SI,OFFSET NAME
£¨2£©È¡LISTµÄǰÁ½¸ö×Ö½Ú´æÈëAX
MOV AX,WORD PTR [LIST]
£¨3£©È¡LISTʵ¼Ê³¤¶È
MOV AX,SIZE LIST £»P85
AA009HFEH45H01H?H01H?41H42HAA1FEHFFHACH00HAA012H00H00H00H7. ÒÀ¾ÝÏÂÁÐָʾÐÔÓï¾ä£¬Çó±í´ïʽµÄÖµ¡£
SHOW0 EQU 200 SHOW1 EQU 15 SHOW2 EQU 2 ¢Å SHOW0X100+55 ¢Æ SHOW0 AND SHOW1-15 ¢Ç (SHOW0/SHOW2) MOD SHOW1 ¢È SHOW1 OR SHOW0 ½â£º£¨1£© SHOW0 X 100+55=200X100+55
¢Æ SHOW0 AND SHOW1-15=C8H AND 0FH - 0FH = 0£»¼õ·¨µÄÓÅÏȼ¶¹ýÓÚAND ¢Ç £¨SHOW0/SHOW2£©MOD SHOW1=100 MOD 15=10 ¢È SHOW1 OR SHOW0=0FH OR C8H=CF
8. ±àд³ÌÐò£¬Í³¼Æ¼Ä´æÆ÷BXÖжþ½øÖÆÎ»¡°1¡±µÄ¸öÊý£¬½á¹û´æÔÚALÖС£
DATA SEGMENT
NUM DW £¿ DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX£¬DATA
MOV DS£¬AX MOV AL£¬0
¡¤14¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
MOV BX£¬NUM ;°ÑÊýX´«Ë͸øBX MOV CX£¬16
NEXT£º SHL AX£¬1
JNC NEXT1 INC AL
NEXT1£º LOOP NEXT
MOV AH£¬4CH
INT 21H
CODE ENDS
END START
9. ijÊý¾Ý¿é´æ·ÅÔÚBUFFER¿ªÊ¼µÄ100¸ö×Ö½Úµ¥ÔªÖУ¬ÊÔ±àд³ÌÐòͳ¼ÆÊý¾Ý¿éÖÐÕý
Êý£¨²»°üÀ¨0£©µÄ¸öÊý£¬²¢½«Í³¼ÆµÄ½á¹û´æ·Åµ½NUMBERµ¥ÔªÖС£ ½âDATA SEGMENT
BUFFER DB 100(?) NUMBER DB 0
DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX,DATA
MOV DS,AX XOR DX, DX
MOV CX,100 MOV SI,OFFSET BUFFER NEXT£º MOV AL,[SI] INC SI TEST AL,80H ;ÊÇÕýÊýÂ𣿠JNZ GOON ;·ñ£¬×ªÒƵ½GOON CMP AL,0 JZ GOON
INC DX
GOON: LOOP NEXT MOV NUMBER,DX
MOV AH£¬4CH INT 21H
CODE ENDS
END START
10. ÔĶÁÏÂÃæ³ÌÐò¶Î£¬Ö¸³öËüµÄ¹¦ÄÜ¡£ DATA SEGMENT
ASCII DB 30H, 31H, 32H, 33H ,34H ,35H, 36H, 37H, 38H, 39H HEX DB 04H DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS: DATA START: MOV AX, DATA
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤15¡¤
MOV DS, AX
MOV BX,OFFSET ASCII MOV AL,HEX AND AL,0FH MOV AL,[BX+AL] MOV DL,AL MOV AH,2 INT 21H
MOV AH,4CH INT 21H
CODE ENDS END START
½â£ºÕâʱһ¸ö²é±í³ÌÐò£¬²é±íÈ¡³öHEXµÄASCII¡£²¢ÔÚÆÁÄ»ÉÏÏÔʾASCIIÂë
11. ijÊý¾ÝÇøÖÐÓÐ100¸öСд×Öĸ£¬±à³Ì°ÑËüÃÇת»»³É´óд×Öĸ£¬²¢ÔÚÆÁÄ»ÉÏÏÔʾ¡£
½â£ºDATA SEGMENT
BUFFER DB 100(?)
DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX,DATA
MOV DS,AX
MOV CX,100 MOV SI,OFFSET BUFFER NEXT£º MOV AL,[SI] INC SI CMP AL,61H ;ÊÇСд×ÖĸÂð? JB GOON ;·ñ£¬×ªÒƵ½GOON£¨Ð¡ÓÚÔò×ªÒÆ£© SUB AL,20H MOV DL,AL MOV AH,2 INT 21H GOON: LOOP NEXT MOV AH£¬4CH
INT 21H
CODE ENDS END START
12. ×Ó³ÌÐòµÄ²ÎÊý´«µÝÓÐÄÄЩ·½·¨£¿ ½â£º
Ö÷³ÌÐòÔÚµ÷ÓÃ×Ó³ÌÐòʱ£¬ÒªÎª×Ó³ÌÐòÔ¤ÖÃÊý¾Ý£¬ÔÚ×Ó³ÌÐò·µ»ØÊ±¸ø³öÊý¾Ý´¦ÀíµÄ½á¹û£¬Õâ³ÆÎªÊý¾Ý´«ËÍ»ò±äÁ¿´«ËÍ¡£·½·¨Ö÷ÒªÓÐÒÔϼ¸ÖÖ£º
¢Ù ¼Ä´æÆ÷´«ËÍ¡£
¡¤16¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
¢Ú µØÖ·±í´«ËÍ£¬ÐèÒª´«Ë͵IJÎÊý½Ï¶àʱ¿ÉÒÔÀûÓô洢µ¥Ôª´«ËÍ¡£ÔÚµ÷ÓÃ×Ó³ÌÐòǰ£¬°ÑËùÓвÎÊýÒÀ´ÎËÍÈëµØÖ·±í£¬È»ºó½«µØÖ·±íµÄÊ×µØÖ·×÷Ϊ×Ó³ÌÐòÈë¿Ú²ÎÊý´«µÝ¸ø×Ó³ÌÐò¡£
¢Û ¶ÑÕ»´«ËÍ£¬ÕâÖÖ·½Ê½ÒªÉóÉ÷×¢Òâ¶ÑÕ»µÄ±ä»¯Çé¿ö¡£
13. ¹ý³Ì¶¨ÒåµÄÒ»°ã¸ñʽÊÇʲô£¿×Ó³ÌÐò¿ªÊ¼´¦ÎªÊ²Ã´³£ÓÃPUSHÖ¸Á·µ»ØÇ°ÓÃ
POPÖ¸Á ½â£º¸ñʽ¼ûP90£¬
Èç¹ûÒ»¸ö×Ó³ÌÐò±»¶à´Îµ÷Ó㬱£»¤Óë»Ö¸´£¨Ö÷³ÌÐò£©ÏÖ³¡¾Í·Ç³£ÖØÒª¡£Ö÷³ÌÐòÿ´Îµ÷ÓÃ×Ó³ÌÐòʱ£¬Ö÷³ÌÐòµÄÏÖ³¡²»»áÏàͬ£¬±£»¤Óë»Ö¸´ÏÖ³¡µÄ¹¤×÷¾ÍÖ»ÄÜÔÚ×Ó³ÌÐòÖнøÐС£ÔÔòÉÏ£¬ÔÚ×Ó³ÌÐòÖУ¬Ê×ÏȰÑ×Ó³ÌÐòÖÐÒªÓõ½µÄ¼Ä´æÆ÷¡¢´æ´¢µ¥Ôª¡¢×´Ì¬±êÖ¾µÈѹÈë¶ÑÕ»»ò´æÈëÌØ¶¨¿Õ¼äÖУ¬È»ºó×Ó³ÌÐò²Å¿ÉÒÔʹÓÃËüÃÇ£¬Ê¹ÓÃÍêºóÔÙ½«ËüÃǵ¯³ö¶ÑÕ»»ò´ÓÌØ¶¨¿Õ¼äÖÐÈ¡³ö£¬»Ö¸´ËüÃÇÔÀ´µÄÖµ£¬¼´»Ö¸´Ö÷³ÌÐòÏÖ³¡¡£±£»¤ºÍ»Ö¸´ÏÖ³¡³£Ê¹ÓÃPUSHºÍPOPÖ¸Áî¡£
14. ÔĶÁÏÂÃæ³ÌÐò¶Î£¬Ö¸³öËüµÄ¹¦ÄÜ¡£
DATA SEGMENT
STRING DB ¡®Exxperience?¡¯ LENG DW 100 KEY DB ¡®x¡¯ DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA MAIN PROC FAR
START£ºMOV AX, DATA MOV DS, AX MOV ES, AX
LEA BX, STRING £»×Ö·û´®µØÖ·->BX
LEA CX, LENG £»×Ö·û´®³¤->CX
PUSH BX
PUSH CX
DI- MOV AL, KEY
DI+ CALL DELCHAR
SI+ MOV AH, 4CH
SP->BP BP- INT21H
MAIN ENDP BP+ IP- DELCHAR PROC IP+ PUSH BP [BP+4]->SI CL MOV BP, SP CH PUSH SI [BP+6]->DI BL PUSH DI BH CLD MOV SI, [BP+4] MOV CX, [SI] MOV DI, [BP+6] REPNE SCASB
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤17¡¤
JNE DONE
MOV SI, [BP+4] DEC WORD PTR[SI] MOV SI, DI DEC DI REP MOVSB DONE: POP DI POP SI POP BP RET
DELCHAR ENDP CODE ENDS END START
½â£º´Ó×Ö·û´®ÖÐɾȥ¶àÓàµÄ¡®X¡¯×Ö·û¡£
15. ÏÔʾÁ½Î»Ñ¹ËõBCDÂëÖµ£¨0~99£©£¬ÒªÇó²»ÏÔʾǰµ¼0¡£
½â£ºDATA SEGMENT
BUF DB ? ; ÄÚ´æÖеÄÁ½Î»Ñ¹ËõBCDÂë DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX,DATA
MOV DS,AX
MOV AL, BUF MOV BL,AL NEXT: MOV CL,4
SHR AL, CL AND AL,0FH CMP AL,0
JZ GOON ADD AL,30H ;ÏÔʾ¸ßλBCDÂë MOV DL,AL
MOV AH,2 INT 21H GOON: MOV AL,BL AND AL,0FH
ADD AL,30H ;ÏÔʾµÍλBCDÂë MOV DL,AL
MOV AH,2 INT 21H
MOV AH£¬4CH INT 21H
CODE ENDS
END START
¡¤18¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
16. ijÊý¾ÝÇøÖÐÁ¬Ðø´æ·Å×Å100¸öÕûÊý£¬ÒªÇ󽫯äÖÐΪ0µÄÔªËØÉ¾³ý£¬²¢½«±£ÁôµÄÊý
¾ÝÁ¬Ðø´æ·Å¡£ ½â£º
DATA SEGMENT STRING DB 100(?) LENG DW 100 KEY DB 0 DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA MAIN PROC FAR
START£ºMOV AX, DATA MOV DS, AX MOV ES, AX LEA BX, STRING LEA CX, LENG PUSH BX PUSH CX MOV AL, KEY CALL DELCHAR MOV AH, 4CH INT21H MAIN ENDP
DELCHAR PROC PUSH BP MOV BP, SP PUSH SI PUSH DI CLD MOV SI, [BP+4] MOV CX, [SI] MOV DI, [BP+6] REPNE SCASB JNE DONE
MOV SI, [BP+4] DEC WORD PTR[SI] MOV SI, DI DEC DI REP MOVSB DONE: POP DI POP SI POP BP RET
DELCHAR ENDP CODE ENDS
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤19¡¤
END START
17. ±à³Ì£¬°ÑÒÔDATAΪÊ×Ö·µÄÁ½¸öÁ¬Ðøµ¥ÔªÖеÄ16λÎÞ·ûºÅÊý³ËÒÔ10¡£
½â£º DATA SEGMENT
BUFFER DB A3H,27H DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX,DATA
MOV DS,AX LEA SI,BUFFER
MOV AX,[SI] SHL AX,1 MOV BX,AX MOV CL,3 MOV AX,[SI] SHL AX,CL ADD AX,BX MOV BUFFER,AL MOV BUFFER+1,AH
MOV AH£¬4CH INT 21H
CODE ENDS
END START
×¢£º2X+23X=2X+8X=10X
18. ±à³Ì£¬±È½ÏÁ½¸ö×Ö´®ÊÇ·ñÏàͬ£¬²¢ÕÒ³öÆäÖеÚÒ»¸ö²»ÏàµÈ×Ö·ûµÄµØÖ·£¬½«¸ÃµØÖ·
ËÍBX£¬²»ÏàµÈµÄ×Ö·ûËÍAL¡£Á½¸ö×Ö·û´®µÄ³¤¶È¾ùΪ200¸ö×Ö½Ú£¬M1ΪԴ´®Ê×µØÖ·£¬M2ΪĿ±ê´®Ê×µØÖ·¡£
½â£ºDATA SEGMENT
M1 DB 100DUP(?) DATA ENDS
EDATA SEGMENT
M2 DB 100DUP(?) EDATA ENDS CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA ,ES£ºEDATA START£º MOV AX,DATA
MOV DS,AX MOV AX,EDATA MOV ES,AX LEA SI£¬M1 ;£¨SI£©¡ûÔ´´®Ê×µØÖ·
LEA DI£¬M2 ;£¨DI£©¡ûÄ¿±ê´®Ê×µØÖ·
¡¤20¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
STOP:
MOV CX£¬200 ;£¨CX£©¡û´®³¤¶È CLD ;£¨DF£©=0£¬Ê¹µØÖ·Ö¸Õë°´ÔöÁ¿·½ÏòÐÞ¸Ä REPE CMPSB ;ÈôÏàµÈÔòÖØ¸´±È½Ï
AND CX£¬0FFFFH ;¼ì²é£¨CX£©ÊÇ·ñµÈÓÚÁã JZ STOP ;£¨CX£©=0ÔòתSTOP DEC SI ;£¨SI£©-1£¬Ö¸Ïò²»ÏàµÈµ¥Ôª MOV BX£¬SI ;£¨BX£©¡û²»ÏàµÈµ¥ÔªµÄµØÖ· MOV AL£¬[SI] ;£¨AL£©¡û²»ÏàµÈµ¥ÔªµÄÄÚÈÝ MOV AH£¬4CH INT 21H
CODE ENDS
END START
19. ±à³Ì£¬ÔÚÄÚ´æµÄÊý¾Ý¶ÎÖдæ·ÅÁË100¸ö8λ´ø·ûºÅÊý£¬ÆäÊ×µØÖ·ÎªTABLE£¬ÊÔͳ
¼ÆÆäÖÐÕýÔªËØ¡¢¸ºÔªËØ¡¢ºÍÁãÔªËØµÄ¸öÊý£¬²¢·Ö±ð½«¸öÊý´æÈëPLUS£¬MINUS£¬ZEROµÈ3¸öµ¥ÔªÖУ»
½â£ºDATA SEGMENT
TABLE DB 100DUP(?) DATA ENDS
CODE SEGMENT ASSUME CS£ºCODE£¬DS£ºDATA START£º MOV AX,DATA
MOV DS,AX XOR AL,AL
MOV PLUS,AL MOV MINUS,AL MOV ZERO,AL LEA SI,TABLE MOV CX,100 CLD CHECK:LODSB OR AL,AL JS X1 JZ X2 INC PLUS JMP NEXT
X1: INC MINUS JMP NEXT
X2: INC ZERO NEXT: LOOP CHECK : MOV AH£¬4CH
INT 21H CODE ENDS
END START
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤21¡¤
20. ±à³Ì£¬ÔÚÊý¾Ý¶ÎDATA1¿ªÊ¼µÄ80¸öÁ¬ÐøµÄ´æ´¢µ¥ÔªÖУ¬´æ·Å80λͬѧijÃſγÌ
µÄ¿¼ÊԳɼ¨(0¡«100)¡£±àд³ÌÐòͳ¼Æ³É¼¨¡Ý90·ÖµÄÈËÊý£¬80¡«89·ÖµÄÈËÊý£¬70¡«79·ÖµÄÈËÊý£¬60¡«69·ÖÒÔ¼°<60·ÖµÄÈËÊý¡£½«½á¹û´æ·Åµ½DATA2¿ªÊ¼µÄ´æ´¢µ¥ÔªÖС£
½â£ºDATA SEGMENT
DATA1 DB 80 DUP(?) ;¼Ù¶¨Ñ§Éú³É¼¨ÒÑ·ÅÈëÕâ80¸öµ¥ÔªÖÐ DATA2 DB 5 DUP(0) ;ͳ¼Æ½á¹ûµÄ´æ·Åµ¥Ôª DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX
MOV CX,80 ;ͳ¼Æ80¸öѧÉúµÄ³É¼¨
LEA SI,DATA1 LEA DI,DATA2
AGAIN: MOV AL,[SI] CMP AL,90 ;Óë90±È½Ï
JC NEXT1 ;СÓÚ90·Ö,תNEXT1 INC BYTE PTR [DI] ;·ñÔò90·ÖÒÔÉϵÄÈËÊý¼Ó1
JMP STO ;תѻ·¿ØÖÆ´¦Àí NEXT1: CMP AL,80 ;Óë80±È½Ï
JC NEXT2 ;СÓÚ80·Ö,תNEXT2
INC BYTE PTR[DI+1] ;·ñÔò80·ÖÒÔÉϵÄÈËÊý¼Ó1 JMP STO
NEXT2: CMP AL,70 ;Óë70±È½Ï JC NEXT3 ;СÓÚ70·Ö,תNEXT3
INC BYTE PTR [DI+2] ;·ñÔò70·ÖÒÔÉϵÄÈËÊý¼Ó1
JMP STO
NEXT3: CMP AL,60 ;Óë60±È½Ï
JC NEXT4 ;СÓÚ60·Ö,תNEXT4
INC BYTE PTR [DI+3] ;·ñÔò60·ÖÒÔÉϵÄÈËÊý¼Ó1 JMP STO ;תѻ·¿ØÖÆ´¦Àí NEXT4 NEXT4: INC BYTE PTR [DI+4] ;60·ÖÒÔϵÄÈËÊý¼Ó1 STO: INC SI ;Ö¸ÏòÏÂÒ»¸öѧÉú³É¼¨ LOOP AGAIN ;Ñ»·£¬Ö±µ½ËùÓгɼ¨¶¼Í³¼ÆÍê MOV AH,4CH ;·µ»ØDOS INT 21H CODE ENDS
END START
¡¤22¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
µÚÎåÕÂϰÌâ¼°´ð°¸
1. °ëµ¼Ìå´æ´¢Æ÷°´ÕÕ¹¤×÷·½Ê½¿É·ÖΪÄÄÁ½´óÀࣿËüÃǵÄÖ÷񻂿±ðÊÇʲô£¿ ´ð£º£¨1£©°ëµ¼Ìå´æ´¢Æ÷°´ÕÕ¹¤×÷·½Ê½¿É·ÖΪROM ºÍ RAM ¡£
£¨2£©ËüÃÇÖ®¼äµÄÖ÷񻂿±ðÊÇ£º
ROMÔÚÕý³£¹¤×÷ʱֻÄܶÁ³ö£¬²»ÄÜдÈë¡£RAMÔò¿É¶Á¿Éд¡£ ¶Ïµçºó£¬ROMÖеÄÄÚÈݲ»»á¶ªÊ§£¬RAMÖеÄÄÚÈݻᶪʧ¡£
2. ¾²Ì¬RAMºÍ¶¯Ì¬RAMµÄ´æ´¢ÔªµÄ¹¤×÷ÔÀíÊÇʲô£¿ ¶¯Ì¬RAMΪʲôÐèÒª¶¨Ê±Ë¢Ð£¿
´ð£º£¨1£©¾²Ì¬RAMµÄ´æ´¢ÔªµÄ¹¤×÷ÔÀíÊÇÀûÓÃË«ÎÈ̬´¥·¢Æ÷µÄ¹¤×÷ÔÀí±£´æÐÅÏ¢£» ¶¯Ì¬RAMµÄ´æ´¢ÔªµÄ¹¤×÷ÔÀíÊǰѵçºÉ´æ´¢µ½µçÈÝÖÐÀ´ÊµÏÖÐÅÏ¢´æ´¢¡£
£¨2£©DRAMµÄ´æ´¢ÔªÒÔµçÈÝÀ´´æ´¢ÐÅÏ¢£¬ÓÉÓÚ´æÔÚ©µçÏÖÏ󣬵çÈÝÖд洢µÄµçºÉ»áÖð½¥Ð¹Â©£¬´Ó¶øÊ¹ÐÅÏ¢¶ªÊ§»ò³öÏÖ´íÎó¡£Òò´ËÐèÒª¶ÔÕâЩµçÈݶ¨Ê±½øÐС°Ë¢Ð¡±¡£
3. ´æ´¢Æ÷µÄµØÖ·ÒëÂë·½·¨ÓÐÄÄÁ½ÖÖ·½Ê½£¿
´ð£º´æ´¢Æ÷µÄµØÖ·ÒëÂë·½·¨ÓУºÈ«µØÖ·ÒëÂëºÍ²¿·ÖµØÖ·ÒëÂëÁ½ÖÖ¡£
4. ʲôÊÇλÀ©Õ¹£¿Ê²Ã´ÊÇ×ÖÀ©Õ¹£¿
´ð£º£¨1£©µ±´æ´¢Ð¾Æ¬Ã¿¸öµ¥ÔªµÄ×Ö³¤Ð¡ÓÚËùÐèÄÚ´æµ¥Ôª×Ö³¤Ê±£¬ÐèÒªÓöà¸öоƬ¹¹³ÉÂú×ã×Ö³¤ÒªÇóµÄ´æ´¢Ä£¿é£¬Õâ¾ÍÊÇλÀ©Õ¹¡£
£¨2£©µ±´æ´¢Ð¾Æ¬µÄÈÝÁ¿Ð¡ÓÚËùÐèÄÚ´æÈÝÁ¿Ê±£¬ÐèÒªÓöà¸öоƬ¹¹³ÉÂú×ãÈÝÁ¿ÒªÇóµÄ´æ´¢Æ÷£¬Õâ¾ÍÊÇ×ÖÀ©Õ¹¡£
5. Éè¼ÆÒ»¸ö4KB ROMÓë4KB RAM×é³ÉµÄ´æ´¢Æ÷ϵͳ£¬Ð¾Æ¬·Ö±ðÑ¡ÓÃ2716£¨2K¡Á8£©ºÍ6116
£¨2K¡Á8£©£¬ÆäµØÖ··¶Î§·Ö±ðΪ4000H~4FFFHºÍ6000H~6FFFH£¬CPUµØÖ·¿Õ¼äΪ64K£¬»³ö´æ´¢ÏµÍ³ÓëCPUÁ¬½Óͼ¡£
´ð£º·ÖÎö£º2716£¨2KX8£© 11¸ùµØÖ·Ïß A0~~A10
6116£¨2KX8£© 11¸ùµØÖ·Ïß A0~~A10 CPU£º64K= 26X210 16¸ùµØÖ·Ïß A0~~A15
·Ö±ðÐèоƬ¸öÊý£º
2716: 4KX8/ 2KX8=2 6116: 4KX8/ 2KX8=2
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤23¡¤
½«µØÖ·Õ¹¿ª³É¶þ½øÖÆ£º¢Ù 4KBµÄROMµØÖ·¿Õ¼ä 4000H~4FFFH
A15 A14 A13 A12 A11 A10¡..A0 0 1 0 0 0 0¡¡ 0 0 1 0 0 0 1¡¡1 0 1 0 0 1 0¡¡0 0 1 0 0 1 1 ¡¡1
2716£¨2KX8£©£º2Ƭ
µÚһƬ µØÖ··¶Î§£º4000~~47FFH µÚ¶þƬ µØÖ··¶Î§£º4800H~~4FFFH ¢Ú4KBµÄRAMµØÖ·¿Õ¼ä£º6000H~6FFFH
A15 A14 A13 A12 A11 A10¡..A0 0 1 1 0 0 0¡¡0 0 1 1 0 0 1¡¡1 0 1 1 0 1 0¡¡0 0 1 1 0 1 1 ¡¡1
6116£¨2KX8£©£º2Ƭ
µÚһƬ µØÖ··¶Î§£º6000~~67FFH µÚ¶þƬ µØÖ··¶Î§£º6800H~~6FFFH
ÀûÓãºCPU µÄÊ£ÓàµØÖ·ÏßA15~A11£¬Ê¹ÓÃ3£º8ÒëÂëÆ÷½øÐÐÈ«µØÖ·ÒëÂ룬Éú³ÉƬѡÐźÅ#Y0 ¡¢#Y1¡¢#Y4¡¢#Y5£¬ÎªËĸöоƬʹÓᣠC B A # Y A15 A14 A13 A12 A11
0 1 0 0 0 #Y0 0 1 0 0 1 #Y1 0 1 1 0 0 #Y4 0 1 1 0 1 #Y5
´æ´¢ÏµÍ³ÓëCPUÁ¬½ÓͼÈçÏÂͼËùʾ£º
¡¤24¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
D0~D7 A0 A10 MEMR D0~D7 A0 A10 2716 WE A0 A10 D0~D7 ? ? ? MEMW D0~D7 A0 A10 MEMR MEMW A14 MEMW A15 ? ? OE R/WD0~D7 A0 A10 6116 OE ? CE 2716 OE CE WE CS D0~D7 A0 A10 6116 OE CS R/W? ? ? ? G 1 G 2A G 2B C B A 74LS138 Y0 Y1 Y4 Y5 A13 A12 A11
6. ÊÔÀûÓÃÈ«µØÖ·ÒëÂ뽫6264оƬ½Óµ½8088ϵͳ×ÜÏßÉÏ£¬Ê¹ÆäËùÕ¼µØÖ··¶Î§Îª32000H¡«
33FFFH¡£
´ð£º½«µØÖ··¶Î§Õ¹¿ª³É¶þ½øÖÆÐÎʽÈçÏÂͼËùʾ¡£
0011 0010 0000 0000 0000 0011 0011 1111 1111 1111
6264оƬµÄÈÝÁ¿Îª8K¡Á8£¬ÐèÒª13¸ùµØÖ·ÏßA0¡«A12¡£¶øÊ£Ïµĸß7λµØÖ·Ó¦²Î¼Ó¸ÃоƬµÄµØÖ·ÒëÂë¡£ µç·ÈçͼËùʾ£º
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤25¡¤
8088ϵͳ BUSD0¡«D7A 0 A 12MEMW MEMR SRAM 6264 D0¡«D7 A 0 A 12WE CS2 OE ¡¤ ¡¤ ¡¤+5V A 19 18A A17 A16 A15 A14 A13 £¦ CS1
7. Èô²ÉÓÃ6264оƬ¹¹³ÉÄÚ´æµØÖ·´Ó20000H¡«8BFFFHµÄÄÚ´æ¿Õ¼ä£¬ÐèÒª¶àÉÙÆ¬6264о
Ƭ£¿
´ð£º´Ó20000H¡«8BFFFHµÄÄÚ´æ¿Õ¼ä¹²ÓÐ8BFFFH£20000H£«1£½6C000H£¨432K£©¸ö×Ö½Ú£¬Ã¿¸ö6264оƬµÄÈÝÁ¿Î»8KB£¬¹ÊÐè432/8£½54Ƭ¡£
8. Éèij΢ÐÍ»úµÄÄÚ´æRAMÇøµÄÈÝÁ¿Îª128KB£¬ÈôÓÃ2164оƬ¹¹³ÉÕâÑùµÄ´æ´¢Æ÷£¬Ðè¶àÉÙ
2164оƬ£¿ÖÁÉÙÐè¶àÉÙ¸ùµØÖ·Ïߣ¿ÆäÖжàÉÙ¸ùÓÃÓÚÆ¬ÄÚѰַ£¿¶àÉÙ¸ùÓÃÓÚÆ¬Ñ¡ÒëÂ룿 ´ð£º
£¨1£©Ã¿¸ö2164оƬµÄÈÝÁ¿Îª64K¡Á1bit£¬¹²Ðè128/64¡Á8£½16Ƭ¡£ £¨2£©128KBÈÝÁ¿ÐèÒªµØÖ·Ïß17¸ù¡£ £¨3£©16¸ùÓÃÓÚÆ¬ÄÚѰַ¡£ £¨4£©1¸ùÓÃÓÚÆ¬Ñ¡ÒëÂë¡£
×¢Ò⣬ÓÃÓÚÆ¬ÄÚѰַµÄ16¸ùµØÖ·ÏßҪͨ¹ý¶þѡһ¶à·Æ÷Á¬µ½2164оƬ£¬ÒòΪ2164оƬÊÇDRAM£¬¸ßλµØÖ·ÓëµÍλµØÖ·ÊÇ·Öʱ´«Ë͵ġ£
9. ¸ßËÙ»º³å´æ´¢Æ÷µÄ¹¤×÷ÔÀíÊÇʲô£¿ÎªÊ²Ã´ÉèÖøßËÙ»º³å´æ´¢Æ÷£¿ ´ð£º£¨1£©¸ßËÙ»º³å´æ´¢Æ÷µÄ¹¤×÷ÔÀíÊÇ»ùÓÚ³ÌÐòºÍÊý¾Ý·ÃÎʵľֲ¿ÐÔÔÀí¡£ £¨2£©ÉèÖøßËÙ»º³å´æ´¢Æ÷ΪÁË»º½âCPUºÍÄÚ´æÖ®¼ä´æÈ¡ËٶȵÄì¶Ü£¬½«µ±Ç°ÕýÔÚÖ´
ÐеÄÖ¸Áî¼°Ïà¹ØÁªµÄºó¼ÌÖ¸Á´ÓÄÚ´æ¶Áµ½Cache£¬Ê¹CPUÖ´ÐÐÏÂÒ»ÌõÖ¸Áîʱ£¬´ÓCacheÖжÁÈ¡¡£CacheµÄ´æÔÚʹCPU¼È¿ÉÒÔÒԽϿìµÄËٶȶÁȡָÁîºÍÊý¾Ý£¬ÓÖ²»ÖÁÓÚʹ΢»úµÄ¼Û¸ñ´ó·ùÌá¸ß¡£
10. ÏÖÓÐÁ½Æ¬6116оƬ£¬ËùÕ¼µØÖ··¶Î§Îª61000H¡«61FFFH£¬ÊÔ½«ËüÃÇÁ¬½Óµ½8088ϵͳ
ÖС£²¢±àд²âÊÔ³ÌÐò£¬ÏòËùÓе¥ÔªÊäÈëÒ»¸öÊý¾Ý£¬È»ºóÔÙ¶Á³öÓëÖ®±È½Ï £¬Èô³ö´íÔòÏÔʾ¡°Wrong£¡¡°£¬È«²¿ÕýÈ·ÔòÏÔʾ¡±OK£¡¡°¡£
¡¤26¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
´ð£ºÁ¬½ÓÈçÏÂͼËùʾ¡£²âÊÔ³ÌÐò¶ÎÈçÏ£º
OK DB ¡®OK!¡¯,$ WRONG DB ¡®Wrong!¡¯,$ ?
MOV AX, 6100H MOV ES, AX MOV DI, 0
MOV CX, 1000H £»4K MOV AL, 55H REP STOSB MOV DI, 0
MOV CX, 1000H REPZ SCASB JZ DISP_OK LEA DX, WRONG
DISP£º MOV AH, 9
INT 21H HLT
DISP_OK: LEA DX, OK
JMP DISP
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤27¡¤
µÚÁùÕÂϰÌâ¼°´ð°¸
1. ʲôÊǽӿڣ¿Æä×÷ÓÃÊÇʲô£¿
²Î¿¼´ð°¸£º½Ó¿ÚÊÇCPUÓëÍⲿÉ豸½øÐÐÐÅÏ¢½»»»Ê±£¬±ØÐèµÄÒ»×éÂß¼µç·¼°¿ØÖÆÈí¼þ¡£Ö÷Òª×÷ÓÃÓУº£¨1£©ÐÅºÅµçÆ½×ª»»£¨2£©Êý¾Ý¸ñʽת»»£¨3£©ËÙ¶ÈÆ¥Å䣨4£©Êý¾Ý´«ËÍ£¨5£©Ñ°Ö·ÄÜÁ¦£¨6£©´íÎó¼ì²â¹¦ÄÜ¡£
2. ÊäÈëÊä³ö½Ó¿Úµç·ÓÐÄÄЩ¼Ä´æÆ÷£¬¸÷×ÔµÄ×÷ÓÃÊÇʲô£¿
²Î¿¼´ð°¸£ºCPUÓëÍâÉè½øÐÐÊý¾Ý´«Ê䣬½Ó¿Úµç·ÐèÒªÉèÖÃÈô¸ÉרÓüĴæÆ÷£¬»º³åÊäÈëÊä³öÊý¾Ý£¬É趨¿ØÖÆ·½Ê½£¬±£´æÊäÈëÊä³ö״̬ÐÅÏ¢£¬ÕâЩ¼Ä´æÆ÷³£³ÆÎª¶Ë¿Ú¡£¸ù¾ÝÊý¾Ý´«Êä·½Ïò£¬¶Ë¿Ú¿É·ÖΪÊäÈë¶Ë¿ÚºÍÊä³ö¶Ë¿Ú¡£ÊäÈë¶Ë¿Ú±ØÐë¾ßÓжÔÊý¾ÝµÄ¿ØÖÆÄÜÁ¦£¬Êä³ö½Ó¿ÚÓ¦¾ß±¸Êý¾ÝµÄ±£³ÖÄÜÁ¦£¬¼´Ëø´æ¹¦ÄÜ¡£ÊäÈë¶Ë¿ÚºÍÊä³ö¶Ë¿Úͳ³ÆI/O¶Ë¿Ú¡£¸ù¾Ý¶Ë¿Ú´«ÊäµÄÐÅÏ¢£¬¶Ë¿Ú¿É·ÖΪÊý¾Ý¶Ë¿Ú¡¢×´Ì¬¶Ë¿ÚºÍ¿ØÖƶ˿ڣ¬ÓÃÒÔ´«ÊäÊý¾ÝÐÅÏ¢¡¢×´Ì¬ÐÅÏ¢ºÍ¿ØÖÆÐÅÏ¢¡£×´Ì¬ÐÅÏ¢ÊÇÓÉÍâÉèÌṩ£¬CPUÊÊʱ¶ÁÈ¡£¬Òò´Ë״̬¶Ë¿ÚΪÊäÈë¶Ë¿Ú£»Êý¾Ý¶Ë¿Ú¿ÉÒÔÊÇÊäÈë¶Ë¿Ú¡¢Ò²¿ÉÒÔÊÇÊä³ö¶Ë¿Ú»ò×ÅÊǼȿÉÒÔÊäÈëÓÖ¿ÉÒÔÊä³öµÄË«Ïò¶Ë¿Ú¡£
3. ʲô½Ð¶Ë¿Ú£¿I/O¶Ë¿ÚµÄ±àÖ··½Ê½ÓÐÄļ¸ÖÖ£¿¸÷ÓкÎÌØµã£¿
²Î¿¼´ð°¸£º½Ó¿ÚÖпɱ»CPUÖ±½Ó·ÃÎʵÄרÓüĴæÆ÷³ÆÎª¶Ë¿Ú¡£I/O¶Ë¿Ú±àÖ··½Ê½ÊǼÆËã»úϵͳΪI/O¶Ë¿Ú·ÖÅä¶Ë¿ÚºÅµÄ·½Ê½¡£³£¼ûµÄI/O±àÖ··½Ê½ÓÐÁ½ÖÖ£ºÓëÄڴ浥Ԫͳһ±àÖ··½Ê½ºÍ¶ÀÁ¢±àÖ··½Ê½¡£Í³Ò»±àÖ··½Ê½£ºÓŵ㣬·ÃÎÊI/O¶Ë¿ÚºÍ·ÃÎÊÄÚ´æµ¥ÔªÒ»Ñù£¬²»ÓÃÉèÖÃרÃŵÄI/OÖ¸ÁҲ²»ÐèҪרÓõÄI/O¶Ë¿Ú¿ØÖÆÐźţ¬¼ò»¯ÁËϵͳ¿ØÖÆ×ÜÏߣ»È±µã£¬ÓÉÓÚI/O¶Ë¿ÚµØÖ·Õ¼ÓÃÁËCPUµØÖ·¿Õ¼äµÄÒ»²¿·Ö£¬ËùÒÔ¼õÉÙÁËÄÚ´æµØÖ·¿Õ¼ä¡£ ¶ÀÁ¢±àÖ··½Ê½£ºÓŵ㣬²»Õ¼ÓÃÄÚ´æ¿Õ¼ä£»ÊäÈëÊä³öµØÖ·Ï߸ùÊýÉÙ£¬I/O¶Ë¿ÚÒëÂëµç·¼òµ¥£»È±µã£¬ÐèҪרÓõÄI/OÖ¸ÁרÓÿØÖÆÏß¡£
4. CPUºÍÍâÉèÖ®¼äµÄÊý¾Ý´«ËÍ·½Ê½ÓÐÄļ¸ÖÖ£¿ÎÞÌõ¼þ´«ËÍ·½Ê½Í¨³£ÓÃÔÚÄÄЩ³¡ºÏ£¿
²Î¿¼´ð°¸£ºÖ÷»úÓëÍâÉèÖ®¼äͨ¹ýÒ»¶¨µÄ¿ØÖÆ·½Ê½½øÐÐÐÅÏ¢½»»»£¬³£ÓõĿØÖƵķ½Ê½°üÀ¨ÎÞÌõ¼þ´«ËÍ·½Ê½¡¢³ÌÐò²éѯ´«ËÍ·½Ê½¡¢Öжϴ«ËÍ·½Ê½¡¢Ö±½Ó´æ´¢Æ÷´æÈ¡£¨DMA£©·½Ê½¡£ÎÞÌõ¼þ´«ËÍ·½Ê½Êʺϼòµ¥ÍâÉèµÄÊý¾ÝÊäÈëÊä³ö£¬ÀýÈ翪¹Ø¡¢¼ÌµçÆ÷¡¢²½½øµç»ú¡¢·¢¹â¶þ¼«¹ÜµÈ¡£ÔÚÕâÖÖ·½Ê½Ï½øÐÐÐÅÏ¢½»»»Ê±£¬ÍâÉè±ØÐë×ÜÊÇ×¼±¸ºÃµÄ£¬ËæÊ±¿ÉÒÔ½ÓÊÕÊý¾Ý£¬»òËæÊ±¿ÉÒÔÌṩÊý¾Ý£¬ËùÒÔ²»±Ø²éѯÍâÉèµÄ״̬¡£ÕâÖÖ¹¤×÷·½Ê½µÄÓŵãÊÇ¿ØÖƳÌÐò¼òµ¥£¬Èí¡¢Ó²¼þ¿ªÏú¶¼ÉÙ¡£
5. Ïà¶ÔÓÚ³ÌÐò²éѯ´«ËÍ·½Ê½£¬ÖжϷ½Ê½ÓÐʲôÓŵ㣿ºÍDMA·½Ê½±È½Ï£¬Öжϴ«ËÍ·½Ê½
ÓÖÓÐʲô²»×ãÖ®´¦£¿
²Î¿¼´ð°¸£ºÖжϷ½Ê½µÄÊý¾ÝÊäÈëÊä³ö£¬CPU²»ÐèÒª²éѯÍâÉèµÄ״̬£¬½ÚÊ¡ÁËCPUµÄ´óÁ¿Ê±¼ä£¬Ìá¸ßÁËCPUµÄÀûÓÃÂÊ¡£Öжϴ«ËÍ·½Ê½µÄȱµã£ºÖжϷ½Ê½ÈÔÐèҪͨ¹ýCPUÖ´ÐгÌÐòÀ´ÊµÏÖÍâÉèÓëÖ÷»úÖ®¼äµÄÐÅÏ¢´«ËÍ£»CPUÿ´ÎÖж϶¼ÐèÒª»¨·Ñʱ¼ä±£»¤¶ÏµãºÍÏÖ³¡£¬ÎÞ·¨Âú×ã¸ßËÙI/OÉ豸µÄËÙ¶ÈÒªÇó¡£
6. Ϊʲô74LS244Ö»ÄÜ×÷ΪÊäÈë½Ó¿Ú£¿ÎªÊ²Ã´74LS273Ö»ÄÜ×÷ΪÊä³ö½Ó¿Ú£¿
²Î¿¼´ð°¸£º74LS244Êǰ˵¥ÏßÇý¶¯Æ÷£¬Èý̬Êä³ö£¬¿É×÷ΪÊäÈë½Ó¿Ú£¬Ò²¿É×÷ΪÊä³ö½Ó¿Ú¡£74LS244 ÒòΪÊǵ¥ÏòÇý¶¯Æ÷£¬×÷ΪÊäÈë½Ó¿ÚʱֻÄܵ±ÊäÈëÓã¬×÷ΪÊä³ö½Ó¿ÚʱֻÄܵ±Êä³öÓ㬲»ÄܼÈÊÇÊä³öÓÖÊÇÊäÈë¡£74LS273ÎÞ3̬´«Êä¿ØÖÆ£¬²»ÄÜ×÷ΪÊäÈë½Ó¿Ú¡£
¡¤28¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
7. ÀûÓÃ74LS244×÷ΪÊäÈë½Ó¿Ú£¨¶Ë¿ÚºÅΪC8H£©Á¬½Ó4¸ö¿ª¹ØK0~K3£¨¿ª¹Ø¶Ï¿ªÊ±¶ÔÓ¦
ÊäÈëµÄ¶þ½øÖÆÎ»Îª0£©£¬ÀûÓÃ74LS273×÷ΪÊä³ö½Ó¿Ú£¨¶Ë¿ÚºÅΪ2710H£©Á¬½ÓÒ»¸ö8¶ÎLEDÏÔʾÆ÷£¬Íê³ÉÏÂÁÐÒªÇó£º
£¨1£©ÀûÓÃ74LS138ÒëÂëÆ÷Éè¼ÆµØÖ·ÒëÂëµç·£¬»³öоƬÓë8088ϵͳ×ÜÏßµÄÁ¬½Óͼ¡£ ²Î¿¼´ð°¸£ºÈçÏÂͼ
D0 |D7 ¡Ý1 D0 ¡ªD7 IOW A13 A10 &A9 A8 A5 A15 A14 A12 A11 ¡Ý1A7 A6 A4 A3 A2 A1 A0 O0 O1 O2 CP74LS273G2AG74LS138O3 O4 O5 O6 O7 abcdefgh G2BY0CBAD0 ¡ªD7 IOR A7 A6 &A5 A4 ¡Ý1A3 A2 A1 A0 ¡Ý174LS1381Y1~1Y4 74LS244+5V1A1 1A2 1A3 1A4 K0 K1 K2 k3 G2AG1G G2BCBY0A£¨2£©±àд³ÌÐò¶Î£¬ÊµÏÖ¹¦ÄÜ£º¶ÁÈë4¸ö¿ª¹ØµÄ״̬£¬¶Ô¿ª¹ØµÄ״̬½øÐбàÂ룬¼´4¸ö¿ª¹ØµÄ16ÖÖ״̬ҪÓÃ16¸öÊý×Ö±íʾ³öÀ´¡£È翪¹Ø¶¼¶Ï¿ªÊ±¶ÔÓ¦±àÂëΪ0£¬¿ª¹Ø¶¼±ÕºÏʱ¶ÔÓ¦±àÂëΪFH£¬¿ª¹ØK0±ÕºÏµ«K1~K3¶¼¶Ï¿ªÊ±¶ÔÓ¦±àÂëΪ1£¬ÒÔ´ËÀàÍÆ¡££¨±àÂëÐÅÏ¢Ö±½Ó±£´æÔÚALÖУ© ²Î¿¼´ð°¸£º
MOV DX, 0C8H £»¿ª¹Ø½Ó¿ÚµÄµØÖ·ÎªC8H IN AL, DX £»¶ÁÈ뿪¹Ø×´Ì¬ AND AL, 0FH £»±£ÁôµÍ4λ
£¨3£©±àд³ÌÐò¶Î£¬ÊµÏÖ¹¦ÄÜ£º½«£¨2£©ÖбàÂëµÄ¿ª¹Ø×´Ì¬ÔÚ8¶ÎLEDÏÔʾÆ÷ÉÏÏÔʾ³öÀ´£¬È翪¹ØµÄ±àÂëÐÅϢΪ0ʱ£¬8¶ÎLEDÏÔʾÆ÷ÉÏÏÔʾ0£¬µ±¿ª¹Ø×´Ì¬¸Ä±äΪFHʱ£¬8¶ÎLEDÏÔʾÆ÷ÉÏÏÔʾF£¬ÒÔ´ËÀàÍÆ¡£ ²Î¿¼´ð°¸£º ??
Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H ??
LEA BX, Seg7 £»È¡7¶ÎÂë±í»ùµØÖ· MOV AH, 0 £»£¨2£©ÖеijÌÐòÒѾʹAL±£´æÁË¿ª¹Ø±àÂ룬´Ë´¦µÄ×÷ÓÃÊÇ
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤29¡¤
£»Ê¹AXµÄÊýÖµÓëALµÄÊýÖµÏàµÈ£¬ÎªÏÂÃæµÄ²é±í×ö×¼±¸
MOV SI, AX £»×÷Ϊ7¶ÎÂë±íµÄ±íÄÚÎ»ÒÆÁ¿ MOV AL, £ÛBX+SI£Ý £»È¡7¶ÎÂë MOV DX, 2710H £»7¶ÎÊýÂë¹Ü½Ó¿ÚµÄµØÖ·Îª2710H OUT DX, AL
8. ʲôÊÇÖжϣ¿³£¼ûµÄÖжÏÔ´ÓÐÄļ¸ÀࣿCPUÏìÓ¦ÖжϵÄÌõ¼þÊÇʲô£¿
²Î¿¼´ð°¸£ºÖжϣ¬ÊÇÖ¸ÔÚ³ÌÐòÖ´Ðйý³ÌÖУ¬³öÏÖijÖÖ½ô¼±Ê¼þ£¬CPUÔÝÍ£Ö´ÐÐÏÖÐгÌÐò£¬×ªÈ¥Ö´Ðд¦Àí¸ÃʼþµÄ³ÌÐò¡ª¡ªÖжϷþÎñ³ÌÐò£¬Ö´ÐÐÍêºóÔÙ·µ»Øµ½±»ÔÝÍ£µÄ³ÌÐò¼ÌÐøÖ´ÐУ¬ÕâÒ»¹ý³Ì³ÆÎªÖжϡ£³£¼ûµÄÖжÏÔ´ÓÐÓÉÍâΧÉ豸ÒýÆðµÄÖжϡ¢ÓÉCPU±¾Éí²úÉúµÄÖжϡ¢ÓÉ´æ´¢Æ÷²úÉúµÄÖжϡ¢ÓÉ¿ØÖÆÆ÷²úÉúµÄÖжϡ¢ÓÉ×ÜÏß²úÉúµÄÖжϡ¢ÊµÊ±¹ý³Ì¿ØÖƲúÉúµÄÖжϡ¢ÊµÊ±ÖӵĶ¨Ê±Öжϡ¢³ÌÐòÖ¸ÁîÒýÆðµÄÖжÏÒÔ¼°Ó²¼þ¹ÊÕÏÖжϵȡ£CPUÏìÓ¦ÖжÏÐèÒªÂú×ã4¸öÌõ¼þ£º¢Ù CPU´¦ÓÚ¿ªÖжÏ״̬£¬¼´IF=1£»¢Ú µ±Ç°Ã»Óз¢Éú¸´Î»¡¢Ã»ÓÐ×ÜÏßÇëÇó¡¢Ã»ÓÐÄÚ²¿Öжϡ¢Ã»Óв»¿ÉÆÁ±ÎÖжϣ»¢Û µ±Ç°Ö´ÐеÄÖ¸Áî²»ÊÇ¿ªÖжÏÖ¸ÁîSTI£¬Ò²²»ÊÇÖжϷµ»ØÖ¸ÁîIRET¡£Èç¹û¸ÕÇÉÊÇ£¬CPU½«ËüÃÇÖ´ÐнáÊøºó£¬ÔÙÖ´ÐÐÒ»ÌõÖ¸ÁCPU²ÅÄÜÏìÓ¦Öжϡ£¢Ü CPUÖ´ÐÐÍêÏÖÐÐÖ¸Áî¡£
9. ¼òÊö΢»úϵͳµÄÖжϴ¦Àí¹ý³Ì¡£
²Î¿¼´ð°¸£º¢Ù»ñµÃÖжÏÀàÐÍÂë¢Ú½«ÖжÏÀàÐÍÂë·ÅÈëÔÝ´æÆ÷±£´æ£»¢Û ½«±êÖ¾¼Ä´æÆ÷ÄÚÈÝѹÈë¶ÑÕ»£¬ÒÔ±£»¤ÖжÏʱµÄ״̬£»¢Ü ½«IFºÍTF±êÖ¾Çå0£»¢Ý ±£»¤¶Ïµã£¬µ±Ç°µÄIPºÍCSµÄÄÚÈÝÈëÕ»£»¢Þ ¸ù¾ÝÖжÏÀàÐÍÂ룬ÔÚÖжÏÏòÁ¿±íÖÐÕÒ³öÖжϷþÎñ³ÌÐòµÄÈë¿ÚµØÖ·£¬×°ÈëIPºÍCS£¬×ªÏòÖжϷþÎñ³ÌÐò¡£¢ßÖ´ÐÐÖжϷþÎñ³ÌÐò£»¢à ÖжϷµ»Ø¡£
10. Èí¼þÖжϺÍÓ²¼þÖжÏÓкÎÌØµã£¿Á½ÕßµÄÖ÷񻂿±ðÊÇʲô£¿
²Î¿¼´ð°¸£ºÈí¼þÖжÏÊÇͨ¹ýÖжÏÖ¸Áî¡°INT n¡±µ÷ÓõÄÖжϣ¬Ó²¼þÖжÏÊÇCPU¼ì²âµ½ÖжÏÇëÇóÐźźóÔËÐеÄÖжϡ£Á½ÕßµÄÖ÷񻂿±ðÔÚÓÚÖжÏÔ´²»Í¬¡£
11. ÖжÏÓÅÏȼ¶µÄÅŶÓÓÐÄÄЩ·½·¨£¿²ÉÓÃÈí¼þÓÅÏȼ¶ÅŶӺÍÓ²¼þÓÅÏȼ¶ÅŶӸ÷ÓÐÊ²Ã´ÌØ
µã£¿
²Î¿¼´ð°¸£º
ÖжÏÅÐÓÅ¿ÉÒÔ²ÉÓÃÓ²¼þ·½·¨£¬Ò²¿É²ÉÓÃÈí¼þ·½·¨¡£
Èí¼þÅÐÓŵÄÓ²¼þµç·¼òµ¥£¬ÓÅÏÈȨ°²ÅÅÁé»î£¬µ«Èí¼þÅÐÓÅËù»¨µÄʱ¼ä³¤£¬Èç¹ûÖжÏÔ´ºÜ¶à£¬ÖжϵÄʵʱÐԾͺܲ
Ó²¼þÅÐÓÅʵʱÐԺ㬵«Ó²¼þµç·Ïà¶Ô¸´ÔÓ¡£
12. 8086µÄÖжϷÖÄÄÁ½´óÀࣿ¸÷×ÔÓÐÊ²Ã´ÌØµã£¿ÖжÏʸÁ¿ºÍÖжÏʸÁ¿±íµÄº¬ÒåÊÇʲô£¿
8086Ò»¹²¿É´¦Àí¶àÉÙ¼¶Öжϣ¿ ²Î¿¼´ð°¸£º
8086µÄÖжϷÖΪÁ½ÀࣺÄÚ²¿ÖжϺÍÍⲿÖжϡ£ÍⲿÖжÏÓÖ·ÖΪ¿ÉÆÁ±ÎÖжϺͲ»¿ÉÆÁ±ÎÖжϣ¬ÕâÁ½Àà·Ö±ðͨ¹ýNMIºÍINTRÁ½¸öÖжÏÇëÇóÐźŽÓÊÕÍⲿÖжÏÔ´²úÉúµÄÖжÏÇëÇó¡£ÄÚ²¿ÖжϰüÀ¨£ºÓÉCPU±¾Éí²úÉúµÄÖжϡ¢ÓɳÌÐòÔ±°²ÅŵÄÖжÏÖ¸ÁîÒýÆðµÄÖжϡ£¾ßÌå°üÀ¨INT n¡¢INT3¡¢INTOÖ¸ÁîÒýÆðµÄÖжϣ¬³ý·¨´íÖжϣ¬µ¥²½²Ù×÷ÒýÆðµÄÖжϡ£
8086Ϊÿ¸öÖжÏÔ´·ÖÅäÁËÒ»¸ö±àºÅ£¬³ÆÎªÖжÏÀàÐÍÂë»òÖжÏʸÁ¿Âë¡£ÖжÏʸÁ¿£ºÖжϷþÎñ³ÌÐòµÄÈë¿ÚµØÖ·¡£ÖжÏʸÁ¿±í£º½«ÖжÏʸÁ¿°´Ò»¶¨µÄ¹æÂÉÅÅÁÐ³É±í¡£8088/8086ϵͳ¿ÉÒÔ´¦Àí256ÖÖÖжϡ£
¡¤30¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
13. ¼òÊö8086µÄÖжÏÀàÐÍ£¬·ÇÆÁ±ÎÖÐ¶ÏºÍ¿ÉÆÁ±ÎÖжÏÓÐÄÄЩ²»Í¬Ö®´¦£¿CPUͨ¹ýʲôÏì
Ó¦Ìõ¼þÀ´´¦ÀíÕâÁ½ÖÖ²»Í¬µÄÖжϣ¿
²Î¿¼´ð°¸£º8086µÄÖжϷÖΪÁ½ÀࣺÄÚ²¿ÖжϺÍÍⲿÖжϡ£²»¿ÉÆÁ±ÎÖжÏÊÇÖ¸CPUÒ»¶¨ÒªÏìÓ¦µÄÖжϡ£NMIÊDz»¿ÉÆÁ±ÎÖжÏÇëÇóÐźŵÄÊäÈë¶Ë£¬CPU²»ÐèÒªÖ´ÐÐÖжÏÏìÓ¦×ÜÏßÖÜÆÚ»ñÈ¡ÖжÏÏòÁ¿Â룬²»·¢ËÍÖжÏÏìÓ¦ÐźÅINTA£¬Ö±½Ó²éÖжÏÏòÁ¿±íתȥִÐÐÖжϷþÎñ³ÌÐò¡£INTRÊÇ¿ÉÆÁ±ÎÖжÏÇëÇóÐźŵÄÊäÈë¶Ë£¬CPUÊÕµ½ÖжÏÇëÇóÐźź󣬼ì²âÖжÏÔÊÐí±ê־λIF£¬ÈôIF=1£¬CPU×¼±¸ÏìÓ¦INTRÇëÇó£»ÈôIF=0ʱ£¬CPUÆÁ±ÎINTRÇëÇó¡£¿ÉÆÁ±ÎÖжϵÄÓÅÏȼ¶µÍÓÚ²»¿ÉÆÁ±ÎÖжϡ£Öжϱê־λIF¿ÉÒÔÓÃÖ¸ÁîSTIºÍCLI½øÐÐÉèÖá£
14. ÒÑÖª8086ϵͳÖвÉÓõ¥Æ¬8259AÀ´¿ØÖÆÖжϣ¬ÖжÏÀàÐÍÂëΪ20H£¬ÖжÏÔ´ÇëÇóÏßÓë
8259AµÄIR4ÏàÁ¬£¬¼ÆËãÖжÏÏòÁ¿±íµÄÈë¿ÚµØÖ·¡£Èç¹ûÖжϷþÎñ³ÌÐòÈë¿ÚµØÖ·Îª2A310H£¬Ôò¶ÔÓ¦¸ÃÖжÏÔ´µÄÖжÏÏòÁ¿±íµÄÄÚÈÝÊÇʲô£¿ ²Î¿¼´ð°¸£º2000H:A310HµÈ
15. ÒÑÖª¶ÔÓ¦ÓÚÖжÏÀàÐÍÂëΪ18HµÄÖжϷþÎñ³ÌÐò´æ·ÅÔÚ0020H£º6314H¿ªÊ¼µÄÄÚ´æÇøÓò
ÖУ¬Çó¶ÔÓ¦ÓÚ18HÀàÐÍÂëµÄÖжÏÏòÁ¿´æ·ÅλÖúÍÄÚÈÝ¡£
²Î¿¼´ð°¸£ºÎ»Öãº18H*4=60H£¬ÄÚÈÝ£ºÖжÏÏòÁ¿±íÖÐ60H~63HµÄÇøÓò˳Ðò´æ·Å×Å14H£¬63H£¬20H£¬00H¡£
16. ÔÚ±àд³ÌÐòʱ£¬ÎªÊ²Ã´Í¨³£×ÜÒªÓÃSTIºÍCLIÖжÏÖ¸ÁîÀ´ÉèÖÃÖжÏÔÊÐí±êÖ¾£¿8259A
µÄÖÐ¶ÏÆÁ±Î¼Ä´æÆ÷IMRºÍÖжÏÔÊÐí±êÖ¾IFÓÐÊ²Ã´Çø±ð£¿
²Î¿¼´ð°¸£ºINTRÊÇ¿ÉÆÁ±ÎÖжÏÇëÇóÐźŵÄÊäÈë¶Ë£¬CPUÊÕµ½ÖжÏÇëÇóÐźź󣬼ì²âÖжÏÔÊÐí±ê־λIF£¬ÈôIF=1£¬CPU×¼±¸ÏìÓ¦INTRÇëÇó£»ÈôIF=0ʱ£¬CPUÆÁ±ÎINTRÇëÇó¡£¿ÉÆÁ±ÎÖжϵÄÓÅÏȼ¶µÍÓÚ²»¿ÉÆÁ±ÎÖжϡ£Öжϱê־λIF¿ÉÒÔÓÃÖ¸ÁîSTIºÍCLI½øÐÐÉèÖá£
8259AµÄÖÐ¶ÏÆÁ±Î¼Ä´æÆ÷IMRÖÐÿһλ¶ÔÓ¦×Å8259A 8¸öÖжÏÔ´IR0¡«IR7ÖеÄÒ»¸ö¡£µ±IMRµÄijһλDn =0ʱ£¬ÔÊÐí¶ÔÓ¦IRnÒý½ÅÉϵÄÍâÉèÏò8259AÉêÇëÖжϡ£µ±Dn =1½ûÖ¹¶ÔÓ¦IRnÒý½ÅÉϵÄÍâÉèÏò8259AÉêÇëÖжϡ£¶ø8088µÄIF=0ʱ£¬½ûÖ¹CPUÏìÓ¦ÈÎºÎ¿ÉÆÁ±ÎÖжϡ£
17. 8259A¶ÔÖжÏÓÅÏÈȨµÄ¹ÜÀíºÍ¶ÔÖжϽáÊøµÄ¹ÜÀíÓм¸ÖÖ´¦ÀíµÄ·½Ê½£¿¸÷×ÔÓ¦ÓÃÔÚʲô
³¡ºÏ£¿
²Î¿¼´ð°¸£º8259AÓÐ3ÖÖ½áÊøÖжϵķ½Ê½£¬ËüÃÇÊÇ£º
£¨1£©×Ô¶¯½áÊø·½Ê½¡£ÏµÍ³Ò»½øÈëÖжϴ¦Àí¹ý³Ì£¬8259A¾Í×Ô¶¯½«µ±ÖжϷþÎñ¼Ä´æÆ÷ISRÖжÔÐòλISn ÇåÁ㣬¾ÍºÃÏóÒѾ½áÊøÁËÖжϷþÎñ³ÌÐòÒ»Ñù¡£ÕâÖÖ·½Ê½Ö»ÓÃÓÚϵͳÖÐÖ»ÓÐһƬ8259A£¬¶øÇÒ¸÷¸öÖжϲ»»á·¢ÉúǶÌ×µÄÇé¿ö¡£ £¨2£©Ò»°ãµÄÖжϽáÊø·½Ê½¡£ÒªÓÉCPUÏò8259AдÈëOCW2À´Çå³ýISRÖÐÖжϼ¶±ð×î¸ßµÄ·ÇÁãISn 룬¼´ÕýÔÚÖ´ÐеÄÖжϷþÎñ³ÌÐòµÄISn λ¡£ÕâÖÖ·½Ê½ÓÃÓÚȫǶÌ׵Ť×÷·½Ê½ºÍÓÅÏȼ¶×Ô¶¯Ñ»··½Ê½¡£ £¨3£©ÌØÊâµÄÖжϽáÊø·½Ê½¡£ÒªÓÉCPUÏò8259AдÈëOCW2ʱָÃ÷ÒªÇå³ýµÄISn 룬ÕâÖÖ·½Ê½ÓÃÓÚ8259A¹¤×÷ÔÚÌØÊâȫǶÌ×·½Ê½»òÓÅÏȼ¶ÌØÊâÑ»··½Ê½Çé¿ö¡£ÔÚ·ÇÖжÏ×Ô¶¯½áÊø·½Ê½ÖУ¬ÈôÔÚÖжϴ¦Àí³ÌÐòÖÐδ·¢ÖжϽáÊøÃüÁîOCW2£¬8259A¾Í»áÈÏΪ´ËÖжϷþÎñ³ÌÐòÉÐδ½áÊø£¬Èç¹ûÍâÉèÓÐеÄÖжÏÉêÇëʱ£¬8259A½øÐÐÓÅÏȼ¶±È½Ïʱ£¬¿ÉÄÜ×÷³ö´íÎóµÄÅжϣ¬Ëü¶ÔÖжϿØÖƵŦÄܻ᲻Õý³£¡£
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤31¡¤
18. 8259A½öÓÐÁ½¸ö¶Ë¿ÚµØÖ·£¬ËüÃÇÈçºÎʶ±ðICWÃüÁîºÍOCWÃüÁ
²Î¿¼´ð°¸£º
ICW1ÌØÕ÷ÊÇA0=0£¬²¢ÇÒ¿ØÖÆ×ÖµÄD4=1¡£ ICW2ÌØÕ÷ÊÇA0=1¡£
µ±ICW1ÖеÄSNGLλΪ0ʱ´¦ÊÂÓÚ¼¶Áª·½Ê½£¬´ËʱÐèҪдICW3¡£ ICW4ÊÇÔÚICW1µÄIC4=1ʱ²ÅʹÓᣠOCW1ÌØÕ÷ÊÇA0=1¡£
OCW2ÌØÕ÷ÊÇA0=0ÇÒD4D3=00¡£ OCW3ÌØÕ÷ÊÇA0=0ÇÒD4D3=01¡£
19. ÔÚÁ½Æ¬8259A¼¶ÁªµÄÖжÏϵͳÖУ¬Ö÷ƬµÄIR6½Ó´ÓƬµÄÖжÏÇëÇóÊä³ö£¬Çëд³ö³õʼ»¯
Ö÷Ƭ¡¢´ÓƬʱ£¬ÏàÓ¦µÄICW3µÄ¸ñʽ¡£ ÂÔ
20. ÒÑÖª8086ϵͳ²ÉÓõ¥Æ¬8259A£¬ÖжÏÇëÇóÐźÅʹÓÃµçÆ½´¥·¢·½Ê½£¬ÍêȫǶÌ×ÖжÏÓÅ
Ïȼ¶£¬Êý¾Ý×ÜÏßÎÞ»º³å£¬²ÉÓÃ×Ô¶¯ÖжϽáÊø·½Ê½£¬ÖжÏÀàÐÍÂëΪ20H¡«27H£¬8259AµÄ¶Ë¿ÚµØÖ·ÎªB0HºÍB1H£¬ÊÔ±à³Ì¶Ô8259AÉ趨³õʼ»¯ÃüÁî×Ö¡£ ÂÔ
¡¤32¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
µÚÆßÕÂϰÌâ¼°´ð°¸
1. 8253оƬ¹²Óм¸ÖÖ¹¤×÷·½Ê½£¿Ã¿ÖÖ·½Ê½¸÷ÓÐÊ²Ã´ÌØµã£¿
2. ijϵͳÖÐ8253оƬµÄ¼ÆÊýÆ÷0~2ºÍ¿ØÖƶ˿ڵØÖ··Ö±ðΪFFF0H~FFF3H¡£¶¨Ò弯ÊýÆ÷0
¹¤×÷ÔÚ·½Ê½2£¬CLK0£½2MHz£¬ÒªÇóOUT0Êä³ö1kHzµÄÂö³å£»¶¨Ò弯ÊýÆ÷l¹¤×÷ÔÚ·½Ê½CLKlÊäÈëÍⲿ¼ÆÊýʼþ£¬¼ÆÂú100¸öÏòCPU·¢³öÖжÏÇëÇó¡£ÊÔд³ö8253µÄ³õʼ»¯³ÌÐò¡£
½â£ºCNT0£º¿ØÖÆ×Ö£º00110100B£¬¼ÆÊý³õÖµ£ºN=FCLK/FOUT=2MHz/1KHz=2000 CNT1£º¿ØÖÆ×Ö£º01010000B£¬¼ÆÊý³õÖµ£ºN=100
MOV DX, 0FFF3H ;¼ÆÊýÆ÷0¹¤×÷ÔÚ·½Ê½0 MOV AL, 34H
OUT DX, AL MOV DX, 0FFF0H MOV AX, 2000
OUT DX, AL ;¼ÆÊýÆ÷0ÖóõÖµ MOV AL£¬AH OUT DX£¬AL
MOV DX, 0FFF3H ;¼ÆÊýÆ÷1¹¤×÷ÔÚ·½Ê½3 MOV AL, 50H
OUT DX, AL MOV DX, 0FFF1H MOV AL, 100 OUT DX, AL
3. ÊÔ±àдһ³ÌÐò£¬Ê¹IBM PC»úϵͳ°åÉϵķ¢Éùµç··¢³ö200HzÖÁ900HzƵÂÊÁ¬Ðø±ä»¯
µÄ±¨¾¯Éù¡£
4. ¶¨Ê±/¼ÆÊýÆ÷оƬ8253Õ¼Óü¸¸ö¶Ë¿ÚµØÖ·£¿¸÷¸ö¶Ë¿Ú·Ö±ð¶ÔӦʲô£¿
½â£º4¸ö¶Ë¿ÚµØÖ·£¬A1A0-¡µ¼ÆÊýÆ÷0£¬¼ÆÊýÆ÷1£¬¼ÆÊýÆ÷2£¬¿ØÖƼĴæÆ÷
5. ÀûÓÃ8253²úÉúʱÖÓ»ù×¼Ðźţ¬ÏÖÓÐÆµÂÊΪ2MHzµÄÂö³åÐźţ¬ÒªÇóOUT0ÌṩºÁÃë¼¶
Âö³åÐźţ¨1000Hz£©£¬OUT1ÌṩÃë¼¶Âö³åÐźţ¨1Hz£©£¬OUT2Êä³öµÄÂö³åÐźÅÖÜÆÚΪ60Ã룬Íê³É8253³õʼ»¯³ÌÐò¡£
½â£ºCNT0£º¿ØÖÆ×Ö£º00110100B£¨34H£©£¬¼ÆÊý³õÖµ£ºN= FCLK/FOUT0=2MHz/1KHz=2000 CNT1£º¿ØÖÆ×Ö£º01110100B£¨74H£©£¬¼ÆÊý³õÖµ£ºN= FOUT0/FOUT1=1KHz/1Hz=1000 CNT2£º¿ØÖÆ×Ö£º10010100B£¨94H£©£¬¼ÆÊý³õÖµ£ºN= TOUT1/Tout2=60S/1S=60
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤33¡¤
+5V GATE0
D7~D0D7~D0CLK02MHz
OUT0RDIOR
GATE1 IOWWR CLK1AA11
OUT1 A0A0
GATE2
CLK2 ÒëÂëµç·CS
OUT2
³õʼ»¯³ÌÐò
ÉèCNT0£¬ CNT1£¬ CNT2£¬CONΪ¼ÆÊýÆ÷0£¬¼ÆÊýÆ÷1£¬¼ÆÊýÆ÷2£¬¿ØÖƼĴæÆ÷µÄ¶Ë¿ÚµØÖ·¡£
MOV DX, CON
MOV AL, 34H ; ¼ÆÊýÆ÷0³õʼ»¯
OUT DX, AL
MOV DX, CNT0
MOV AX,2000 OUT DX, AL MOV AL,AH
OUT DX, AL
MOV DX, CON
MOV AL, 74H ; ¼ÆÊýÆ÷1³õʼ»¯
OUT DX, AL
MOV DX, CNT1
MOV AX,1000 OUT DX, AL MOV AL,AH
OUT DX, AL
MOV DX, CON
MOV AL, 94H ; ¼ÆÊýÆ÷1³õʼ»¯
OUT DX, AL
MOV DX, CNT2
MOV AL,60 OUT DX, AL
¡¤34¡¤ ΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸
6. ÊÔ·ÖÎö8255A·½Ê½0¡¢·½Ê½1ºÍ·½Ê½2µÄÖ÷񻂿±ð£¬²¢·Ö±ð˵Ã÷ËüÃÇÊʺÏÓÚʲôӦÓÃ
³¡ºÏ¡£ P178-182
7. µ±8255AµÄA¿Ú¹¤×÷ÔÚ·½Ê½2ʱ£¬Æä¶Ë¿ÚBÊʺÏÓÚʲôÑùµÄ¹¦ÄÜ£¿Ð´³ö´Ëʱ¸÷ÖÖ²»Í¬
×éºÏÇé¿öµÄ¿ØÖÆ×Ö¡£
½â£º¶Ë¿ÚBÊʺϷ½Ê½0£¬·½Ê½1¡£ 11000000B 11000001B 11000010B
11000011B 11000100B 11000110B
8. Èô8255AµÄ¶Ë¿ÚA¶¨ÒåΪ·½Ê½0£¬ÊäÈ룻¶Ë¿ÚB¶¨ÒåΪ·½Ê½1£¬Êä³ö£»¶Ë¿ÚCµÄÉϰë
²¿¶¨ÒåΪ·½Ê½0£¬Êä³ö¡£ÊÔ±àд³õʼ»¯³ÌÐò¡££¨¿ÚµØÖ·Îª80H~83H£© ½â£º¿ØÖÆ×Ö£º10010100B MOV AL£¬94H OUT 83H, AL
9. ¼ÙÉèһƬ8255AµÄʹÓÃÇé¿öÈçÏ£ºA¿ÚΪ·½Ê½0ÊäÈ룬B¿ÚΪ·½Ê½0Êä³ö¡£´ËʱÁ¬½Ó
µÄCPUΪ8086£¬µØÖ·ÏßµÄA1¡¢A2·Ö±ð½ÓÖÁ8255AµÄA0¡¢A1£¬¶øÐ¾Æ¬µÄCSÀ´×ÔA3A4A5A6A7=00101£¬ÊÔÍê³É8255AµÄ¶Ë¿ÚµØÖ·ºÍ³õʼ»¯³ÌÐò¡£
½â£º¶Ë¿ÚµØÖ·£º1010000XB£¨A0H£¬A1H£©£¬1010001XB£¨A2H,A3H£©£¬1010010XB£¨A4H£¬A5H£©£¬1010011XB(A6H,A7H)
¿ØÖÆ×Ö£º10010000B£¨90H£©
MOV AL£¬90H OUT A6H, AL
10. ÓÃ8255Óë8253¿ØÖÆ8¸öLED·¢¹â¶þ¼«¹ÜÑ»·ÉÁ˸£¬Èçͼ7-37Ëùʾ¡£ÒÑÖªCLK=1MHZ£¬
×÷Ϊ8253ÖÐCLK0µÄÊäÈ룬OUT0×÷Ϊ8253ÖÐCLK1µÄÊäÈ룬OUT1×÷Ϊ8255ÖÐPC0µÄÊäÈë¡£8253ÖмÆÊýÆ÷0µÄ¼ÆÊý³õֵΪ10000£¬BCD¼ÆÊý£¬²úÉú¶Ô³Æ·½²¨£»¼ÆÊýÆ÷1Ϊ¶þ½øÖƼÆÊý£¬²úÉú1HZµÄ·½²¨¡£Çë»Ø´ðÏÂÁÐÎÊÌ⣺ £¨1£©8253¶Ë¿ÚµØÖ·£º £¨2£©8253µÄ¿ØÖÆ×Ö£»
£¨3£©±àд8253µÄ³õʼ»¯³ÌÐò¡£
½â£º8253µØÖ·: ¼ÆÊýÆ÷0£º 1111 1111 0001 0100B£¨FF14H£©
¼ÆÊýÆ÷1£º 1111 1111 0001 0101B£¨FF15H£©
¼ÆÊýÆ÷2£º 1111 1111 0001 0110B£¨FF16H£©
¿ØÖƼĴæÆ÷£º 1111 1111 0001 0111B£¨FF17H£©
ͼ7-37 8253ºÍ8255Ó¦ÓÃ
΢»úÔÀí¼°½Ó¿Ú¼¼ÊõϰÌâ¼°´ð°¸ ¡¤35¡¤
CNT0£º¿ØÖÆ×Ö£º00010111B£¬³õÖµ£º0
CNT1£º¿ØÖÆ×Ö£º01010110B£¬£¨Fout0=FCLK/N=1MHz/10000=100Hz£©£¬³õÖµ£º100
MOV DX, 0FF17H ;¼ÆÊýÆ÷0 MOV AL, 17H
OUT DX, AL MOV DX, 0FF14H MOV AL, 0
OUT DX, AL
MOV DX, 0FF17H ;¼ÆÊýÆ÷1 MOV AL, 56H
OUT DX, AL MOV DX, 0FF15H MOV AL, 100 OUT DX, AL