΢»úÔ­ÀíÓë½Ó¿ÚµÚ¶þ°æ£¨³ÂºìÎÀ°æ£©²Î¿¼´ð°¸¼°¸´Ï°¸ÙÒª

µÚÒ»ÕÂ

1£®½«ÏÂÁÐÊ®½øÖÆÊýת»»³É¶þ½øÖÆÊý¡£

£¨1£©49 £¨2£©49.75 £¨3£© 100 £¨4£©100.8125 ½â£º£¨1£© £¨49£©10=£¨110001£©2

£¨2£© £¨49.75£©10=£¨110001.11£©2 £¨3£© £¨100£©10=£¨1100100£©2

£¨4£© £¨100.8125£©10=£¨1100100.1101£©2

2£®½«ÏÂÁÐÊ®Áù½øÖÆÊýת»»³É¶þ½øÖÆÊýºÍÊ®½øÖÆÊý¡£ £¨1£©FAH £¨2£© 78A2H £¨3£© FFFFH £¨4£©3CH ½â£º£¨1£© £¨FA£©16=£¨11111010£©2=£¨250£©10

£¨2£© £¨78A2£©16=£¨111100010100010£©2=£¨30882£©10 £¨3£© £¨FFFF£©16=£¨1111111111111111£©2=£¨65535£©10 £¨4£© £¨3C£©16=£¨111100£©2=£¨60£©10

3£®½«ÏÂÁжþ½øÖÆÊýת»»³ÉÊ®Áù½øÖÆÊýºÍ°Ë½øÖÆÊý¡£

£¨1£©101101.11 £¨2£©1111111 £¨3£©1101001011.01 £¨4£© 10111101 ½â£º£¨1£© £¨101101.11£©2=£¨2D.C£©16=£¨55.6£©8 £¨2£© £¨1111111£©2=£¨7F£©16=£¨177£©8

£¨3£© £¨1101001011.01£©2=£¨34B.4£©16=£¨1513.2£©8 £¨4£© £¨10111101£©2=£¨BD£©16=£¨275£©8

4£®Éè»úÆ÷×Ö³¤Îª8λ£¬Ð´³öÏÂÁи÷¶þ½øÖÆÊýµÄÔ­Âë¡¢·´ÂëºÍ²¹Âë¡£ £¨1£©+1010101 £¨2£©-1000000 £¨3£©+1111111 £¨4£©-1111111 ½â£º£¨1£© Ô­Â룺01010101£»·´Â룺01010101£»²¹Â룺01010101¡£ £¨2£© Ô­Â룺11000000£»·´Â룺10111111£»²¹Â룺11000000¡£ £¨3£© Ô­Â룺01111111£»·´Â룺01111111£»²¹Â룺01111111¡£ £¨4£© Ô­Â룺11111111£»·´Â룺10000000£»²¹Â룺10000001¡£

5£®ÉèÏÂÁÐËÄ×éΪ8λ¶þ½øÖƲ¹Âë±íʾµÄÊ®Áù½øÖÆÊý£¬¼ÆËãa+bºÍa-b£¬²¢ÅÐ¶ÏÆä½á¹ûÊÇ·ñÒç³ö¡£

£¨1£©a=0F6H£¬b=0D5H £¨2£© a=0B7H£¬b=0C7H

£¨3£©a=37H£¬b=67H £¨4£© a=73H£¬b=7BH ½â£º£¨1£© a+b=CBH£¬Ã»Óз¢ÉúÒç³ö£»a-b=21H£¬Ã»Óз¢ÉúÒç³ö¡£ £¨2£© a+b=7EH£¬·¢ÉúÒç³ö£»a-b=F0H£¬Ã»Óз¢ÉúÒç³ö¡£ £¨3£© a+b=9EH£¬·¢ÉúÒç³ö£»a-b=D0H£¬Ã»Óз¢ÉúÒç³ö¡£ £¨4£© a+b=EEH£¬·¢ÉúÒç³ö£»a-b=F8H£¬Ã»Óз¢ÉúÒç³ö¡£

6£®ÒÑÖªa=00111000B£¬b=11110011B£¬¼ÆËãÏÂÁÐÂß¼­ÔËËã¡£ £¨1£© a AND b £¨2£© a OR b £¨3£© a XOR b £¨4£© NOT a

½â£º£¨1£©a AND b=00110000B £¨2£©a OR b=11111011B £¨3£©a XOR b=11001011B £¨4£©NOT a=11000111B

7£®½«ÏÂÁÐËãʽÖеÄÊ®½øÖÆÊý±íʾ³É×éºÏBCDÂë½øÐÐÔËË㣬²¢¸ù¾ÝÐèÒª½øÐе÷Õû¡£ £¨1£©38+42 £¨2£© 56+77 £¨3£© 99+77 £¨4£©34+7 ½â£º£¨1£©00111000 + 01000010 01111010

+ 0110 10000000£¨80£© £¨2£©01010110 + 01110111 11001101 + 01100110

000100110011£¨133£© £¨3£©10011001 + 01110111 100010000 + 01100110

000101110110£¨176£© £¨4£©00110111 + 00000111 00111011 + 0110

01000001£¨41£©

8£®½«ÏÂÁÐ×Ö·û´®±íʾ³ÉÏàÓ¦µÄASCIIÂ루ÓÃÊ®Áù½øÖÆÊý±íʾ£©¡£ £¨1£© 102 £¨2£© ABC £¨3£© ASCII £¨4£© abc ½â£º£¨1£©313032H £¨2£©414243H

£¨3£©4153434949H £¨4£©616263H

9£®ÒÑÖª[X]Ô­=10101100B£¬¼ÆËã[£¨1/2£©X]²¹¼°[£¨-1/2£©X]²¹µÄÖµ¡£ ½â£º¡ß[X]Ô­=10101100B ¡à[£¨1/2£©X]Ô­=10010110B£¬[£¨-1/2£©X]Ô­=00010110B ¡à[£¨1/2£©X]²¹=11101010B£¬[£¨-1/2£©X]²¹=00010110B

10£®Ç뽫ʮ½øÖÆÊý7.5±íʾ³É¶þ½øÖƸ¡µã¹æ¸ñ»¯Êý£¨½×·û1룬½×Âë2룬Êý·û1λ£¬Î²Êý4룩¡£

½â£ºÊ®½øÖÆÊý7.5Óöþ½øÖƱíʾΪ£º111.1B 111.1B=0.1111¡Á2+3

¸¡µã¹æ¸ñ»¯Êý±íʾ³É:01101111¡£

µÚ¶þÕÂ

1£®8086/8088΢´¦ÀíÆ÷´ÓÂß¼­½á¹¹ÉÏ¿ÉÒÔ·Ö³ÉÄÄÁ½²¿·Ö£¿ÊÔ˵Ã÷ÿһ²¿·ÖµÄ×é³ÉÓ빦ÄÜ¡£

´ð£º8086/8088΢´¦ÀíÆ÷´ÓÂß¼­½á¹¹ÉÏ¿ÉÒÔ·Ö³ÉÖ´Ðе¥Ôª£¨EU£©ºÍ×ÜÏß½Ó¿Úµ¥Ôª£¨BIU£©¡£

Ö´Ðв¿¼þ£¨EU£©°üº¬Ò»¸ö16λµÄËãÊõÂß¼­µ¥Ôª£¨ALU£©¡¢Ò»¸ö16λ·´Ó³CPU״̬ºÍ¿ØÖƱêÖ¾µÄ״̬±êÖ¾¼Ä´æÆ÷£¨FLAG£©¡¢Ò»×é8¸ö16λͨÓüĴæÆ÷×é¡¢Êý¾ÝÔÝ´æ¼Ä´æÆ÷ºÍEUµÄ¿ØÖƵç·¡£×ÜÏß½Ó¿Ú²¿¼þ£¨BIU£©°üº¬Ò»×é¶Î¼Ä´æÆ÷£¨CS£¬SS£¬DSºÍES£©¡¢Ò»¸öÖ¸ÁîÖ¸Õë¼Ä´æÆ÷£¨IP£©¡¢4»ò6¸ö×Ö½ÚµÄÖ¸Áî¶ÓÁС¢µØÖ·ÐÎ³ÉÆ÷¼þºÍ×ÜÏß¿ØÖÆÂß¼­¡£

EUµÄ¹¦ÄÜÊǸºÔðÖ¸ÁîµÄÖ´ÐУ»BIUµÄ¹¦ÄÜÊǸù¾ÝEUµÄÇëÇó£¬Íê³ÉCPUÓë´æ´¢Æ÷»òI/O½Ó¿Ú¼äµÄÊý¾Ý´«ËÍ¡£

2£®Ð´³ö8086/8088 CPUÖÐ14¸ö16λ¼Ä´æÆ÷µÄÃû³Æ¡£ ´ð£º8086/8088 CPUÖÐ14¸ö16λ¼Ä´æÆ÷µÄÃû³ÆÈçÏ£º AX£ºÀÛ¼ÓÆ÷¡£ BX£º»ùÖ·¼Ä´æÆ÷¡£ CX£º¼ÆÊý¼Ä´æÆ÷¡£ DX£ºÊý¾Ý¼Ä´æÆ÷¡£ SP£º¶ÑÕ»Ö¸Õë¼Ä´æÆ÷¡£ BP£º»ùµØÖ·Ö¸Õë¼Ä´æÆ÷¡£ SI£ºÔ´±äÖ·¼Ä´æÆ÷¡£ DI£ºÄ¿µÄ±äÖ·¼Ä´æÆ÷¡£ CS£º´úÂë¶Î¼Ä´æÆ÷¡£ DS£ºÊý¾Ý¶Î¼Ä´æÆ÷¡£ SS£º¶ÑÕ»¶Î¼Ä´æÆ÷¡£ ES£º¸½¼Ó¶Î¼Ä´æÆ÷¡£ IP£ºÖ¸ÁîÖ¸Õë¼Ä´æÆ÷¡£ FLAG£º±êÖ¾¼Ä´æÆ÷¡£

3£®Ð´³ö8086/8088 CPU±êÖ¾¼Ä´æÆ÷ÖеÄ6¸ö״̬±ê־λºÍ3¸ö¿ØÖƱê־λµÄ¶¨Òå¡£ ´ð£º6¸ö״̬±ê־λµÄ¶¨ÒåÈçÏ£º

CF£º½øÎ»±êÖ¾£»µ±×î¸ßλÓнøÎ»»ò½èλʱ£¬CF=1£»·ñÔòCF=0£»

PF£ºÆæÅ¼±êÖ¾£»µ±ÔËËã½á¹ûÖеÍ8λÖС°1¡±µÄ¸öÊýΪżÊýʱ£¬PF=1£»·ñÔòPF=0£» AF£º¸¨Öú½øÐбêÖ¾£»µ±D3ÏòD4ÓнøÎ»»ò½èλʱ£¬AF=1£»·ñÔòAF=0£» ZF£ºÁã±êÖ¾£»ÔËËã½á¹ûÿλ¶¼Îª0ʱ£¬ZF=1£»·ñÔòZF=0£» SF£º·ûºÅ±êÖ¾£»ÔËËã½á¹ûµÄ×î¸ßλΪ1ʱ£¬SF=1£»·ñÔòSF=0£»

OF£ºÒç³ö±êÖ¾£»Á½¸ö·ûºÅÊý½øÐÐÔËËã²úÉúÒç³öʱ£¬OF=1£»·ñÔòOF=0¡£ 3¸ö¿ØÖƱê־λµÄ¶¨ÒåÈçÏ£º

TF£ºÏÝÚå±êÖ¾£»µ±TF=1ʱ£¬CPU½«½øÈëµ¥²½Ö´Ðй¤×÷·½Ê½£»

IF£ºÖжϱêÖ¾£»µ±IF=1ʱÔÊÐíCPUÏìÓ¦¿ÉÆÁ±ÎÖжϣ»µ±IF=0ʱ½ûÖ¹CPUÏìÓ¦¿ÉÆÁ±ÎÖжϣ»

DF£º·½Ïò±êÖ¾£»µ±DF=0ʱ£¬´®²Ù×÷Ö¸ÁîʱµØÖ·³¯Ôö¼Ó·½Ïò£»µ±DF=1ʱ£¬´®²Ù×÷Ö¸ÁîʱµØÖ·³¯¼õÉÙ·½Ïò¡£

4£®ÔÚ8086/8088 CPUÖУ¬Ê®Áù½øÖƲ¹ÂëÊý8070HÓë9E85H½øÐмӷ¨ÔËË㣬Çëд³öÔËËã½áÊøºóSF¡¢OF¡¢CF¡¢AF¡¢ZF¼°PF±ê־λµÄÖµ£¿

½â£º8070H 1000000001110000

+ 9E85H 1001111010000101 128F5H +10010100011110101

´ÓÔËËã½á¹û¿ÉÒÔ¿´³ö£ºSF=0£»OF=1£»AF=0£»CF=1£»ZF=0£»PF=1¡£

5£®Ð´³ö8086/8088 CPUÒý½ÅÖÐALE¡¢NMI¡¢INTR¡¢INTA¼°DT/RµÄº¬Òå¼°ÊäÈë/Êä³ö·½Ïò¡£

´ð£ºALE£ºµØÖ·Ëø´æÊä³öÐźš£

NMI£º·ÇÆÁ±ÎÖжÏÇëÇóÊäÈëÐźš£ INTR£º¿ÉÆÁ±ÎÖжÏÇëÇóÊäÈëÐźš£

INTA£ºÖжÏÏìÓ¦Êä³öÐźš£ DT/R£ºÊý¾Ý´«ËÍ·½ÏòÊä³öÐźš£

6£®8088 CPUÖеÄRESET¡¢READYÐźŵÄ×÷Ó÷ֱðÊÇʲô£¿

´ð£ºRESET£ºCPU¸´Î»ÊäÈëÐźţ¬¸ßµçƽÓÐЧ¡£µ±´ËÊäÈëÏßÓÐЧ²¢Î¬³ÖÖÁÉÙ4¸öʱÖÓÖÜÆÚʱÍê³ÉCPUÄÚ²¿¸´Î»²Ù×÷¡£¸´Î»ºóCPUÄڵļĴæÆ÷¼°Òý½Å´¦ÓÚ³õʼ״̬¡£

READY£º×¼±¸¾ÍÐ÷ÊäÈëÐźţ¬¸ßµçƽÓÐЧ¡£ÓÃÓÚЭµ÷CPUÓë´æ´¢Æ÷»òI/O¶Ë¿ÚÖ®¼äµÄÊý¾Ý´«ËÍ¡£µ±CPU¶Ô´æ´¢Æ÷»òI/O½øÐвÙ×÷ʱ£¬ÔÚT3ÖÜÆÚ¿ªÊ¼²ÉÑùREADYÐźš£ÈôÆäΪµÍµçƽ£¬±íÃ÷±»·ÃÎʵĴ洢Æ÷»òI/O»¹Î´×¼±¸¾ÍÐ÷£»ÈôÆäΪ¸ßµçƽ£¬±íÃ÷±»·ÃÎʵĴ洢Æ÷»òI/OÒÑ×¼±¸¾ÍÐ÷¡£

7£®Ð´³ö¶Î»ùÖ·¡¢Æ«ÒƵØÖ·¡¢Âß¼­µØÖ·ºÍÎïÀíµØÖ·µÄº¬Ò壬ͬʱд³öËüÃÇÖ®¼äµÄÁªÏµ¡£ ´ð£º¶Î»ùÖ·£º¶ÎÊ×µØÖ·µÄ¸ß16λµØÖ·Â룬³£´æÓÚÏàÓ¦µÄ¶Î¼Ä´æÆ÷ÖУ» Æ«ÒÆµØÖ·£º¶ÎÄÚµÄÏà¶ÔµØÖ·£¬Ò²³ÆÓÐЧµØÖ·£»

Âß¼­µØÖ·£ºÓɶλùÖ·Óë¶ÎÄÚÆ«ÒƵØÖ·×éºÏ±íʾ´æ´¢µ¥ÔªµØÖ·£» ÎïÀíµØÖ·£ºÓÃ20λ¶þ½øÖƱàºÅ±íʾ´æ´¢µ¥ÔªµØÖ·£» ÎïÀíµØÖ·=¶Î»ùÖ·¡Á16+¶ÎÄÚÆ«ÒƵØÖ·¡£ 8£®ÊÔÌîдÎïÀíµØÖ·¡£

£¨1£©CS=1200H£¬IP=2500H£¬ÎïÀíµØÖ·Îª 14500H ¡£ £¨2£©DS=39A0H£¬BX=4700H£¬ÎïÀíµØÖ·Îª 3E100H ¡£ £¨3£©ES=6200H£¬DI=2000H£¬ÎïÀíµØÖ·Îª 64000H ¡£ £¨4£©SS=8200H£¬BP=1050H£¬ÎïÀíµØÖ·Îª 83050H ¡£ 9£®Çë»­³ö8088 CPUÒ»¸ö»ù±¾µÄ´æ´¢Æ÷д×ÜÏßÖÜÆÚʱÐòͼ¡£ ´ð£º

Ò»¸ö×ÜÏßÖÜÆÚ

CLK T1 T2 T3 T4

A19 ~A16/S6~S3 µØÖ·Êä³ö ״̬Êä³ö

A15~A8 µØÖ·Êä³ö

AD7~AD0 µØÖ·Êä³ö Êý¾ÝÊä³ö

ALE

IO/M

WR

DT/R

DEN

10£®Çëд³öʱÖÓÖÜÆÚ¡¢×ÜÏßÖÜÆÚÓëÖ¸ÁîÖÜÆÚµÄº¬Òå¡£

´ð£ºÊ±ÖÓÖÜÆÚÊÇCPUµÄ»ù±¾Ê±¼ä¼ÆÁ¿µ¥Î»£¬¼´¼ÆËã»úÖ÷ƵµÄµ¹Êý¡£

×ÜÏßÖÜÆÚÊÇÖ¸CPUͨ¹ý×ÜÏß¶Ô´æ´¢Æ÷»òI/O¶Ë¿Ú½øÐÐÒ»´Î·ÃÎÊ£¨¶Á/д²Ù×÷£©ËùÐè

µÄʱ¼ä£»Ò»¸ö×ÜÏßÖÜÆÚÖÁÉÙ°üº¬4¸öʱÖÓÖÜÆÚ£¬¼´T1¡¢T2¡¢T3¡¢T4¡£

Ö¸ÁîÖÜÆÚÊÇÖ¸¼ÆËã»úÍê³ÉÒ»ÌõÖ¸ÁîµÄÖ´ÐÐËùÐèÒªµÄʱ¼ä¡£

11£®ÔÚ×ÜÏßÖÜÆÚµÄT1¡¢T2¡¢T3ºÍT4״̬£¬CPU·Ö±ðÖ´ÐÐʲô¶¯×÷£¿Ê²Ã´Çé¿öÏÂÐèÒª²åÈëµÈ´ý״̬TW£¿TW²åÈëµÄλÖã¿

´ð£ºÔÚT1״̬£¬BIU°ÑÒª·ÃÎʵĴ洢Æ÷µ¥Ôª»òI/O¶Ë¿ÚµÄµØÖ·Êä³öµ½×ÜÏß¡£

ÔÚT2״̬£¬µØÖ·/Êý¾Ý¸´ÓÃ×ÜÏßÍ£Ö¹Êä³öµØÖ·Ðźš£ÈôÊǶÁÖÜÆÚ£¬T2ÖеØÖ·/Êý¾Ý¸´ÓÃ×ÜÏß´¦ÓÚ¸ß×è״̬£¬CPUÓÐ×ã¹»µÄʱ¼äʹÆä´ÓÊä³ö·½Ê½±äΪÊäÈ뷽ʽ£»ÈôΪдÖÜÆÚ£¬CPU²»±Ø×ª±äÊä³ö·½Ê½¡£

ÔÚT3~T4״̬£¬CPUÓë´æ´¢Æ÷»òI/O½Ó¿Ú½øÐÐÊý¾Ý´«ËÍ¡£CPUÈôÓëÂýËٵĴ洢Æ÷»òI/O¶Ë¿ÚÖ®¼äµÄÊý¾Ý´«ËÍ£¬READYÐźÅÔÚT3״̬ʱÈÔΪµÍµçƽ£¬ÔòÔÚT3Ö®ºó²åÈëµÈ´ý״̬TW£¬¼ÓÈëTWµÄ¸öÊýÓÉÍâÉèµÄËÙ¶ÈÓëCPUËÙ¶ÈÆ¥Åä¾ö¶¨¡£

12£®8088 CPU ¹¤×÷ÔÚ×îСģʽÏ£¬Çë»Ø´ðÒÔÏÂÎÊÌ⣺ £¨1£©CPU·ÃÎÊ´æ´¢Æ÷ʱ£¬ÐèÒªÄÄЩÐźţ¿ £¨2£©CPU·ÃÎÊI/O½Ó¿Úʱ£¬ÐèÒªÄÄЩÐźţ¿

£¨3£©µ±HOLDÓÐЧ²¢µÃµ½ÏìӦʱ£¬CPUµÄÄÄЩÐźÅÖøß×è״̬£¿

´ð£º£¨1£©ÀûÓÃA15~ A8£¬AD7~AD0£¬ALE£¬WR£¬RD£¬DT/R£¬DEN£¬IO/M¡£ £¨2£©ÀûÓÃA15~ A8£¬AD7~AD0£¬ALE£¬WR£¬RD£¬DT/R£¬DEN£¬IO/M¡£ £¨3£©µ±HOLDÓÐЧ²¢µÃµ½ÏìӦʱ£¬CPUÖгʸß×è״̬µÄÐźÅÓУºA15~ A8£¬AD7~AD0£¬

ALE£¬WR£¬RD£¬DT/R£¬DEN£¬IO/M¡£

µÚÈýÕÂ

1£®°´ÕÕÌâÄ¿ÖÐÌá³öµÄÒªÇó£¬Ð´³öÄÜ´ïµ½ÒªÇóµÄÒ»Ìõ£¨»ò¼¸Ìõ£©»ã±àÐÎʽµÄÖ¸Áî¡£ £¨1£© ½«Á¢¼´Êý1234HËÍÈë¼Ä´æÆ÷BX£» £¨2£© ½«Á¢¼´Êý1234HËÍÈë¶Î¼Ä´æÆ÷DS£»

£¨3£© ½«±äÖ·¼Ä´æÆ÷DIµÄÄÚÈÝËÍÈëÊý¾Ý¶ÎÖÐ2000HµÄ´æ´¢µ¥Ôª£» £¨4£© °ÑÊý¾Ý¶ÎÖÐ2000H´æ´¢µ¥ÔªµÄÄÚÈÝËͶμĴæÆ÷ES£» £¨5£© ½«Á¢¼´Êý0ABHÓëALÏà¼Ó£¬½á¹ûËÍ»ØAL£» £¨6£© °ÑBXÓëCX¼Ä´æÆ÷ÄÚÈÝÏà¼Ó£¬½á¹ûËÍÈëBX£»

£¨7£© ¼Ä´æÆ÷BXÖеĵÍ4λÄÚÈݱ£³Ö²»±ä,ÆäËüλ°´Î»È¡·´£¬½á¹ûÈÔÔÚBXÖУ» £¨8£© ʵÏÖAXÓë8λÊý-128µÄ³Ë»ýÔËË㣻 £¨9£© ʵÏÖCXÖиߡ¢µÍ8λÄÚÈݵĽ»»»£»

£¨10£© ½«DXÖÐD0¡¢D5¡¢D8λÖÃ1£¬ÆäÓàλ±£³Ö²»±ä¡£ ½â£º £¨1£© MOV BX, 1234H

£¨2£© MOV AX, 1234H

MOV DS, AX £¨3£© MOV [2000H], DI £¨4£© MOV ES,[2000H] £¨5£© ADD AL,0ABH £¨6£© ADD BX,CX £¨7£© XOR BX,0FFF0H £¨8£© MOV BL,80H IMUL BL

£¨9£© XCHG CH,CL £¨10£© OR DX,0121H

2£®Ë³ÐòÖ´ÐÐÏÂÁÐÖ¸ÁÌîдָÁîºóµÄ¿Õ¸ñ¡£

MOV AX£¬2000H £»AH= 20H MOV DS£¬AX £»AL= 00H £»DS= 2000H MOV BX£¬2030H £»BH= 20H £»BL= 30H MOV SI£¬BX £»SI= 2030H PUSH BX

POP CX £»BX= 2030H £»CX= 2030H XCHG AX£¬SI £»AX= 2030H £»SI= 2000H ADD AX£¬0F43H £»AX= 2F73H £»CF= 0 CWD £»AX= 2F73H £»DX= 0000H SHL AL£¬CL £»AL= 00H £»CL= 30H OR AX£¬5555H £»AX= 7F55H AND AX£¬0AA55H £»AX= 2A55H MOV BL£¬0FFH

MUL BL £»AX= 54ABH IMUL BL £»AX= 0055H 3£®Ö¸³öÏÂÁи÷ÌõÖ¸ÁîÖÐÔ´²Ù×÷Êý×ֶεÄѰַ·½Ê½¡£ £¨1£© MOV AX£¬0ABH £»Á¢¼´Ñ°Ö··½Ê½ £¨2£© MOV AX£¬BX £»¼Ä´æÆ÷Ѱַ·½Ê½

£¨3£© MOV AX£¬£Û1234H£Ý £»Ö±½ÓѰַ·½Ê½ £¨4£© MOV AX£¬£ÛBX£Ý £»¼Ä´æÆ÷¼ä½ÓѰַ·½Ê½ £¨5£© MOV AX£¬£ÛBX£«10£Ý £»¼Ä´æÆ÷Ïà¶ÔѰַ·½Ê½ £¨6£© MOV AX£¬£ÛBX£Ý£ÛSI£Ý £»»ùÖ·±äַѰַ·½Ê½ £¨7£© MOV AX£¬03H£ÛBX£Ý£ÛSI£Ý £»Ïà¶Ô»ùÖ·±äַѰַ·½Ê½ £¨8£© ADD BX£¬[SI] £»¼Ä´æÆ÷¼ä½ÓѰַ·½Ê½ £¨9£© AND AX£¬1234H £»Á¢¼´Ñ°Ö··½Ê½ £¨10£©XOR CX£¬AX £»¼Ä´æÆ÷Ѱַ·½Ê½

4£®Èç¹ûTABELΪÊý¾Ý¶ÎÖÐ0032Hµ¥ÔªµÄ·ûºÅÃû£¬ÆäÖдæ·ÅµÄÄÚÈÝΪ1234H£¬ÌîдÏÂÁÐÖ¸ÁîÖ´Ðкó¿Õ¸ñÖеÄÄÚÈÝ¡£

MOV AX£¬TABEL £»AX= 1234H LEA AX£¬TABEL £»AX= 0032H

5£®»­³öÖ´ÐÐÏÂÁÐÖ¸Áî¹ý³ÌÖжÑÕ»ÇøºÍSPµÄÄÚÈݱ仯¹ý³ÌʾÒâͼ£¬²¢±ê³ö´æ´¢µ¥ÔªµÄÎïÀíµØÖ·¡£

MOV AX£¬1000H MOV SS£¬AX

MOV SP£¬0100H£»¢Ù MOV BX£¬SP

PUSH AX £»¢Ú PUSH BX £»¢Û POP CX £»¢Ü HLT ½â£º

¢Û 00H

01H

×îºóÖ¸ÁîλÖà 00H ¢Ú ¢Ü

10H ¢Ù

6£®±ê³öÏÂÁÐÖ¸ÁîµÄÖ´ÐÐ˳Ðò¡£ £¨1£© MOV AX£¬1234H £¨2£© CMP AX£¬8234H £¨3£© JC NEXT1 £¨4£© CBW

£¨5£©NEXT1£ºMOV BX£¬9876H £¨6£© CMP BX£¬AX £¨7£© JB NEXT2 £¨8£© SHR AX£¬1 £¨9£©NEXT2£ºAND BX£¬1010H

100FCH

100FEH

10100H

£¨10£© HLT

½â£ºÖ¸ÁîµÄÖ´ÐÐ˳Ðò£º

£¨1£©¡ú£¨2£©¡ú£¨3£©¡ú£¨5£©¡ú£¨6£©¡ú£¨7£©¡ú£¨8£©¡ú£¨9£©¡ú£¨10£©¡£

7£®Ö¸ÁîREP MOVSB£¬REP LODSB£¬REP STOSB¼°REPE SCASBÖУ¬ÄÄÒ»ÌõÄÜÌæ´úÒÔϳÌÐò¶Î¡£

ABC£ºMOV AL£¬[SI]

MOV ES£º[DI]£¬AL INC SI INC DI

LOOP ABC ½â£ºÖ¸ÁîREP MOVSBÄÜÌæ´úÉÏÊö³ÌÐò¶Î¡£ 8£®Ë³ÐòÖ´ÐÐÏÂÁи÷ÌõÖ¸ÁÌîд¿Õ¸ñ¡£

MOV BX£¬6534H £»BX= 6534H XOR BX£¬0FFFFH £»BX= 9ACBH AND BX£¬15A0H £»BX= 1080H OR BX£¬2379H £»BX= 33F9H TEST BX£¬0002H £»BX= 33F9H 9£®ÊÔд³öÖ´ÐÐÏÂÁÐ3ÌõÖ¸ÁîºóBX¼Ä´æÆ÷µÄÄÚÈÝ¡£

MOV CL£¬21H MOV BX£¬6D16H SHR BX£¬CL

½â£ºBX=0000H

10£®ÊÔ·ÖÎöÒÔϳÌÐò¶ÎËùÍê³ÉµÄ¹¦ÄÜ¡£

MOV CL£¬04 SHL DX£¬CL MOV BL£¬AH SHL AX£¬CL SHR BL£¬CL OR DL£¬BL

½â£º³ÌÐò¶ÎÍê³ÉÓÉDXºÍAX¹²Í¬×é³ÉµÄ32λÊýÏò×óÒÆ¶¯4λ¡£

11£®¼Ù¶¨AXºÍBXÖÐÄÚÈÝΪÓзûºÅÊý£¬CXºÍDXÖеÄÄÚÈÝΪÎÞ·ûºÅÊý£¬ÇëÓñȽÏÖ¸ÁîºÍÌõ¼þ×ªÒÆÖ¸ÁîʵÏÖÒÔÏÂÅжϣº

£¨1£©ÈôDXµÄÄÚÈݳ¬¹ýCXµÄÄÚÈÝ£¬ÔòתȥִÐÐEXCEED£» £¨2£©ÈôBXµÄÄÚÈÝ´óÓÚAXµÄÄÚÈÝ£¬ÔòתȥִÐÐEXCEED£» £¨3£©BXµÄÄÚÈÝ´óÓÚµÈÓÚAXµÄÄÚÈÝ£¬ÔòתȥִÐÐEXCEED£» £¨4£©ÈôCXµÄÄÚÈݵÈÓÚ0£¬ÔòתȥִÐÐZERO£» £¨5£©ÈôBXÓëAXµÄÄÚÈÝÏàµÈ£¬ÔòתȥִÐÐEQ£»

£¨6£©ÈôBXµÄÄÚÈÝСÓÚµÈÓÚAXµÄÄÚÈÝ£¬ÔòתȥִÐÐEQSMA£» £¨7£©ÈôCXµÄÄÚÈݵÈÓÚ5678H£¬ÔòתȥִÐÐEQ£»

£¨8£©ÈôDXµÄÄÚÈݵÍÓÚCXµÄÄÚÈÝ£¬ÔòתȥִÐÐEQSM£» £¨9£©ÈôAXµÄÄÚÈÝΪÕý£¬ÔòתȥִÐÐABC£» £¨10£©ÈôAXµÄÄÚÈÝΪ¸º£¬ÔòתȥִÐÐABC1¡£ ½â£º£¨1£© CMP DX,CX

JA EXCEED

£¨2£© CMP BX, AX JG EXCEED £¨3£© CMP BX£¬AX JGE EXCEED £¨4£© CMP CX£¬0 JZ ZERO

£¨5£© CMP BX£¬AX JZ EQ £¨6£© CMP BX£¬AX JLE EQSMA £¨7£© CMP CX£¬5678H JZ EQ £¨8£© CMP DX£¬CX JB EQSM £¨9£© ADD AX£¬0 JNS ABC

£¨10£© ADD AX£¬0 JS ABC1

12£®±àд³ÌÐò¶Î£¬ÊµÏÖÊ®Áù½øÖÆÊý12345678HÓë76543210HÏà¼õÔËË㣬ÔËËã½á¹û´æÈëDX¡¢AXÖУ¬ÆäÖÐDX´æ·Å¸ßλ¡£

½â£º²Î¿¼³ÌÐò¶ÎÈçÏ£º

MOV AX£¬5678H SUB AX£¬3210H MOV DX£¬1234H SBB DX£¬7654H HLT 13£®±àд³ÌÐò¶Î£¬ÊµÏÖÊ®½øÖÆÊý12345678Óë76543210Ïà¼ÓÔËË㣬ÔËËã½á¹ûÓÃBCDÂë±íʾ£¬²¢´æÈëDX¡¢AXÖУ¬ÆäÖÐDX´æ·Å¸ßλ¡£

½â£ºMOV AL£¬78H

ADD AL£¬10H DAA

MOV BL£¬AL MOV AL£¬56H ADC AL£¬32H DAA

MOV AH£¬AL MOV AL£¬34H ADC AL£¬54H DAA

MOV DL£¬AL MOV AL£¬12H ADC AL£¬76H DAA

MOV DH£¬AL

MOV AL£¬BL HLT

14£®±àд³ÌÐò¶Î£¬½«¸½¼Ó¶ÎÖÐ1000Hµ¥Ôª¿ªÊ¼µÄ100×Ö½Úµ¥ÔªÇåÁã¡£ ½â£º²Î¿¼³ÌÐò¶ÎÈçÏ£º

MOV CX£¬0064H MOV DI£¬1000H CLD

MOV AL£¬00H REP STOSB HLT 15£®±àд³ÌÐò¶Î£¬½«Êý¾Ý¶ÎÖÐ1000Hµ¥Ôª¿ªÊ¼µÄ100×Ö½Úµ¥Ôª¾ù´æ·Å23H¡£ ½â£º²Î¿¼³ÌÐò¶ÎÈçÏ£º

MOV CX£¬0064H MOV AX£¬DS MOV ES£¬AX MOV DI£¬1000H CLD

MOV AL£¬23H REP STOSB HLT

µÚËÄÕ »ã±àÓïÑÔÔ´³ÌÐòÉè¼Æ

1£®»­³öÊý¾Ý¶Î»ã±àºóÏàÓ¦´æ´¢µ¥ÔªÖеÄÄÚÈݲ¢±ê³ö´æ´¢µ¥ÔªµÄÂß¼­µØÖ·¡£ DATA SEGMENT ORG 0100H

ABC0 EQU 78H ABC DB 09H,-2,45H, 2 DUP£¨01H,£¿£©,¡®AB¡¯ ABC1 DW -2, 34H+ABC0,$ ABC2 DD 12H ABC3 DW ABC DATA ENDS ½â:

DS£º0100H DS£º0101H DS£º0102H DS£º0103H DS£º0104H DS£º0105H DS£º0106H DS£º0107H DS£º0108H DS£º0109H DS£º010AH DS£º010BH DS£º010CH DS£º010DH DS£º010EH DS£º010FH DS£º0110H DS£º0111H DS£º0112H DS£º0113H DS£º0114H

ABC¡ú ABC1¡ú ABC2¡ú ABC3¡ú

09H FEH 45H 01H - 01H - 41H 42H FEH FFH ACH 00H 0DH 01H 12H 00H 00H 00H 00H 01H 2£®Éè³ÌÐòÖеÄÊý¾Ý¶¨ÒåÈçÏÂ: PARTNO DW ? PNAME DB 16 DUP(?) COUNT DD ? PLENTH EQU $-PARTNO

ÎÊPLENTHµÄֵΪ¶àÉÙ£¿ËüµÄº¬ÒåÊÇʲô£¿ ½â:PLENTHµÄֵΪ22£¨16H£©¡£±íʾµ±Ç°Î»ÖÃÓëPARTNOÖ®¼äÓÐ22¸ö×ֽڿռ䡣 3£®¼ÙÉè³ÌÐòÖеÄÊý¾Ý¶¨ÒåÈçÏÂ: LNAME DB 30 DUP£¨?£©

ADDRESS DB 30 DUP£¨?£© CITY DB 15 DUP£¨?£© CODE_LIST DB 1,7,8,3,2

£¨1£©ÓÃÒ»ÌõMOVÖ¸ÁLNAMEµÄÆ«ÒÆµØÖ··ÅÈëAX£» £¨2£©ÓÃÒ»ÌõÖ¸ÁCODE_LISTµÄÍ·Á½¸ö×Ö½ÚµÄÄÚÈÝ·ÅÈëSI:

£¨3£©Ð´Ò»Ìõα²Ù×÷ʹCODE_LENGTHµÄÖµµÈÓÚCODE_LISTÓòµÄʵ¼Ê³¤¶È¡£ ½â:£¨1£©MOV AX£¬OFFSET LNAME £¨2£©MOV SI£¬WORD CODE_LIST

£¨3£©CODE_LENGTH EQU $-CODE_LIST

4£®Ö´ÐÐÏÂÁгÌÐò¶Îºó£¬AX¡¢BXµÄÄÚÈݸ÷ÊÇʲô£¿

MOV AX,0001H MOV BX,8000H NEG AX MOV CX,4 AA:SHL AX,1

RCL BX,1 LOOP AA HLT

½â:AX=0FFF0H£¬BX=000FH 5£®ÔĶÁÒÔϳÌÐò£¬»Ø´ðÎÊÌâ DATA SEGMENT

ABC DB 90H,12H,43H,56H,04H,01H

COUNT EQU $-ABC RESULT DW ? DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:PUSH DS

MOV AX,DATA

MOV DS,AX XOR AX,AX

MOV CX,COUNT LEA SI,ABC LEA DI,RESULT AA:MOV BL,[SI]

INC SI

CMP BL,80H JC NEXT1 NEG BL

NEXT1:ADD AL,BL

ADC AH,00H LOOP AA MOV [DI],AX MOV AH,4CH

INT 21H CODE ENDS

END START £¨1£©³ÌÐòÍê³Éʲô¹¦ÄÜ£¿

£¨2£©³ÌÐòÖÐNEG BLÖ¸ÁîµÄ×÷ÓÃÊÇʲô£¿

£¨3£©³ÌÐòÖ´ÐнáÊøºóRESULT×Öµ¥ÔªµÄÄÚÈÝÊÇʲô£¿

£¨4£©ÄÜ·ñÓÃMOV SI£¬OFFSET ABC´úÌæ³ÌÐòÖÐLEA SI£¬ABCÖ¸Á £¨5£©»ã±à½áÊøºó·ûºÅCOUNTµÄÖµÊÇʲô£¿

½â:£¨1£©³ÌÐòÍê³ÉÇóÒ»×éÓзûºÅ×Ö½ÚÊýµÄ¾ø¶ÔÖµÖ®ºÍ¡£ £¨2£©³ÌÐòÖÐNEG BLÖ¸ÁîµÄ×÷ÓÃÊÇÇó¸ºÊýµÄ¾ø¶ÔÖµ¡£ £¨3£©³ÌÐòÖ´ÐнáÊøºóRESULT×Öµ¥ÔªµÄÄÚÈÝÊÇ0120H¡£ £¨4£©ÄÜ¡£

£¨5£©»ã±à½áÊøºó·ûºÅCOUNTµÄÖµÊÇ06H¡£

6£®ÔĶÁÒÔϳÌÐò£¬»Ø´ðÎÊÌâ DSEG SEGMENT

ARRAY DB 34H,56H,23H,70H,96H COUNT EQU $-ARRAY

DSEG ENDS

SSEG SEGMENT PARA STACK ¡®STACK¡¯

DB 256 DUP£¨0£©

SSEG ENDS CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG,SS:SSEG

START:MOV AX,DSEG

MOV DS,AX

MOV SI,OFFSET ARRAY MOV CX,COUNT CLD

NEXT: LODSB

MOV BL,AL AND AL,0F0H PUSH CX MOV CL,4 SHR AL,CL

OR AL,30H CALL DISP MOV AL,BL AND AL,0FH OR AL,30H CALL DISP DEC CX JCXZ DONE

MOV AL,2CH £»¶ººÅµÄASCIIÂëΪ2CH

CALL DISP JMP NEXT

DONE:MOV AH,4CH £»ÖÕÖ¹µ±Ç°½ø³Ì£¬·µ»Øµ÷Óýø³Ì

INT 21H

DISP PROC NEAR

MOV AH,14 £»Ð´×Ö·ûµ½µ±Ç°¹â±êλÖ㬹â±êǰ½øÒ»¸ñ INT 10H RET

DISP ENDP

CSEG ENDS END START

£¨1£©³ÌÐòÖ´ÐнáÊøºó£¬ÆÁÄ»ÉÏÏÔʾµÄÄÚÈÝÊÇʲô£¿

£¨2£©³ÌÐòÖдøÏ»®ÏßµÄÖ¸Áî¿ÉÒÔÓÃʲôָÁîÌæ´ú£¨½öÒ»Ìõ£©£¿

£¨3£©³ÌÐòÖпոñ´¦Ó¦ÌîÈëʲôָÁ²ÅÄܱ£Ö¤³ÌÐò°´ÒªÇóÕý³£Ö´ÐУ¿ ½â:£¨1£©³ÌÐòÖ´ÐнáÊøºó£¬ÆÁÄ»ÉÏÏÔʾµÄÄÚÈÝÊÇ34£¬56£¬23£¬70£¬96¡£ £¨2£©³ÌÐòÖдøÏ»®ÏßµÄÖ¸Áî¿ÉÒÔÓÃLEA SI£¬ARRAYÖ¸ÁîÌæ´ú¡£

£¨3£©³ÌÐòÖпոñ´¦Ó¦ÌîÈëPOP CXÖ¸Á²ÅÄܱ£Ö¤³ÌÐò°´ÒªÇóÕý³£Ö´ÐС£

7£®AX¼Ä´æÆ÷ÖдæÓÐ4λѹËõBCDÂ룬ÊÔ±àд³ÌÐò½«Õâ4λÊý×Ö·Ö¿ª£¬²¢·Ö±ð´æÈëBH¡¢BL¡¢CHºÍCL¼Ä´æÆ÷ÖС£

½â: ²Î¿¼³ÌÐò¶ÎÈçÏÂ:

??

MOV DX,AX MOV CL,04H ROL AX,CL AND DX,0F0FH MOV BL,DH MOV CL,DL AND AX,0F0FH MOV BH,AL MOV CH,AH

??

?X/8,(0?X?20)8£®ÒÑÖªX¡¢YÊÇ×Ö½ÚÐ͵ÄÎÞ·ûºÅÕûÊý£¬±àд³ÌÐò¼ÆËãY??¡£

X?15,(20?X?30)?½â:²Î¿¼³ÌÐòÈçÏÂ:

DATA SEGMENT

X DB ? £»ÔËÐгÌÐòʱȡX·Ö±ðλÓÚÁ½¸ö·ÖÖ§ Y DB ? DATA ENDS

CODE SEGMENT

ASSUME CS:CODE£¬DS:DATA

START:MOV AX£¬DATA

MOV DS£¬AX MOV AL£¬X

CMP AL£¬20 JNC NEXT

MOV CL£¬03H SHR AL£¬CL JMP NEXT1

NEXT:SUB AL£¬15 NEXT1:MOV Y£¬AL

MOV AH£¬4CH

INT 21H

CODE ENDS END START

9£®±àд³ÌÐò£¬Í³¼Æ¼Ä´æÆ÷BXÖжþ½øÖÆÎ»¡°1¡±µÄ¸öÊý£¬½á¹û´æÔÚALÖС£ ½â:²Î¿¼³ÌÐòÈçÏÂ: CODE SEGMENT

ASSUME CS:CODE

START: MOV AL£¬00H MOV DX£¬BX MOV CX£¬16 AA: CMP DX£¬0 JZ NEXT SHL DX£¬1

JNC NEXT1 INC AL NEXT1: LOOP AA

NEXT: MOV AH£¬4CH

INT 21H CODE ENDS END START

10£®±àд³ÌÐò¶Î½«¼ÆËã»úÈÕÆÚÉèÖÃΪ2009Äê10ÔÂ1ÈÕ¡£ ½â:²Î¿¼³ÌÐò¶ÎÈçÏÂ:

MOV CX£¬2009H ;ÉèÖÃÄê MOV DH£¬10H ;ÉèÖÃÔ MOV DL£¬01H ;ÉèÖÃÈÕ MOV AH£¬2BH INT 21H HLT

11£®±àд³ÌÐòʵÏÖ½ÓÊÕÒ»¸ö×Ö·ûµÄÊäÈ룬²¢ÔÚÆÁÄ»ÉÏÓöþ½øÖÆÐÎʽ£¨0/1£©ÏÔʾ³öËüµÄASCIIÂëÖµ¡£

½â:²Î¿¼³ÌÐòÈçÏÂ: CODE SEGMENT

ASSUME CS:CODE£¬DS:DATA START: MOV AH£¬01H ;¼üÅÌÊäÈë

INT 21H MOV BL£¬AL

MOV CX£¬0007H

SHL BL,1 AA:SHL BL£¬1

JC NEXT1 MOV DL£¬¡¯0¡¯ JMP NEXT

NEXT1:MOV DL£¬¡¯1¡¯

NEXT: MOV AH£¬02H ;ÏÔʾÊä³ö7λASCIIÂëÖµ

INT 21H

LOOP AA MOV AH£¬4CH

INT 21H CODE ENDS

END START

12£®ÉèÊý¾Ý¿é´æ·ÅÔÚBUFFER¿ªÊ¼µÄ50¸ö×Ö½Úµ¥ÔªÖУ¬ÊÔ±àд³ÌÐòͳ¼ÆÊý¾Ý¿éÖÐÕýÊý£¨²»°üÀ¨0£©µÄ¸öÊý£¬²¢½«Í³¼ÆµÄ½á¹û´æ·Åµ½NUMBERµ¥ÔªÖС£

½â:²Î¿¼³ÌÐòÈçÏÂ: DATA SEGMENT

BUFFER DB 23H,00H,56H,89H,09H,30H DB 98H,11H,07H,? COUNT EQU $-BUFFER NUMBER DB 00H DATA ENDS

CODE SEGMENT

ASSUME CS:CODE£¬DS:DATA

START:MOV AX,DATA

MOV DS,AX MOV CX,COUNT LEA SI,BUFFER AA:MOV AL,[SI] CMP AL,00H JZ NEXT JS NEXT

INC NUMBER NEXT:INC SI

LOOP AA

MOV AH£¬4CH INT 21H CODE ENDS END START

13£®ÄÚ´æµÄÒ»¸öÇøÓòÖÐÓÐ100¸ö×Ö·ûÊÇÓÃСд×Öĸ±íʾµÄ£¬ÊÔ±àдһ¸ö³ÌÐò£¬°ÑËüÃÇת»»³É´óд×Öĸ£¬²¢ËÍÆÁÄ»ÏÔʾ¡£ ½â:²Î¿¼³ÌÐòÈçÏÂ:

DATA SEGMENT

ABC DB 61H£¬65H£¬62H£¬63H£¬?£»£¨100¸öСд×Öĸ£© DATA ENDS

CODE SEGMENT

ASSUME CS:CODE£¬DS:DATA

START:MOV AX£¬DATA

MOV DS£¬AX MOV CX£¬0064H LEA SI£¬ABC AA:MOV DL£¬[SI]

SUB DL£¬20H MOV [SI]£¬DL MOV AH£¬02H INT 21H INC SI LOOP AA

MOV AH£¬4CH INT 21H

CODE ENDS END START 14£®¡°9876¡±Êǽ«ÊäÈëÊý¾Ý×Ö·û¡°3268¡±Í¨¹ýÃÜÂë±í¡°3589027164¡±¼ÓÃܶøµÃ£¬±àд½âÃܳÌÐò£¬ÇóÈÎÒâÊäÈëËÄλÃÜÂëµÄÔ­Âë¡£

½â:²Î¿¼³ÌÐòÈçÏÂ:

DATA SEGMENT

ABC DB 33H,35H,38H,39H,30H DB 32H,37H,31H,36H,34H ABC1 DB 4DUP(00H) ABC2 DB 00H DATA ENDS

CODE SEGMENT

ASSUME CS:CODE£¬DS:DATA

START: MOV AX£¬DATA

MOV DS£¬AX LEA SI,ABC1 LEA DI,ABC2 MOV CX,0004H AA: MOV AH,01H INT 21H MOV [SI],AL INC SI LOOP AA LEA SI,ABC1 MOV DX,0000H

MOV CX,0004H AA0: LEA BX,ABC

AA1: MOV AL,[SI] CMP AL,[BX] JZ NEXT INC BX INC DL JMP AA1 NEXT:PUSH CX

CMP CX,01H JZ NEXT1 MOV CL,04H SHL DX,CL NEXT1:POP CX LOOP AA0 MOV [DI],AX

MOV AH,4CH

INT 21H CODE ENDS END START

15£®ÔÚSTRINGµ¥Ôª¿ªÊ¼´æ·Å×ÅÒ»×Ö·û´®£¬×Ö·û´®ÒÔ¡°$¡±½áÊø£¬ÊÔ±àÖÆÒ»³ÌÐò²âÊÔ¸Ã×Ö·û´®ÖÐÊÇ·ñÓÐÊý×Ö0~9£¬ÈçÓÐÔò½«CLÖеĵÚ5λÖÃ1£¬·ñÔò½«¸ÃλÇå0¡£

½â:²Î¿¼³ÌÐòÈçÏÂ:

DATA SEGMENT

ABC DB ¡®ABCDS9KL$¡¯ DATA ENDS

CODE SEGMENT ASSUME CS:CODE£¬DS:DATA

START:MOV AX£¬DATA

MOV DS£¬AX LEA SI£¬ABC MOV CL,00H AA: MOV AL,[SI]

CMP AL,¡¯$¡¯ JZ NEXT1 CMP AL,30H JC NEXT CMP AL,3AH JNC NEXT OR CL,20H JMP NEXT1

NEXT: INC SI JMP AA

NEXT1: MOV AH,4CH

INT 21H CODE ENDS

END START

16£®±àд³ÌÐòÍê³É°ÑDXÖеÄ16½øÖÆÊýת»»ÎªASCIIÂ룬²¢½«¶ÔÓ¦µÄASCIIÂëÒÀ´Î´æÈëMEM¿ªÊ¼µÄ´æ´¢µ¥ÔªÖС£ÀýÈ磬µ±DXµÄÄÚÈÝΪ2A49Hʱ£¬³ÌÐòÖ´ÐнáÊøºó£¬MEMµ¥Ôª¿ªÊ¼µÄ4¸ö×Ö½ÚµÄÄÚÈÝÒÀ´ÎΪ39H£¬34H£¬41H£¬32H¡£

½â:DATA SEGMENT

MEM DB 4 DUP(?) DATA ENDS

CODE SEGMENT

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

MOV DS,AX MOV CH,04H

MOV BX,OFFSET MEM MOV CL,04H AA1:MOV AX,DX AND AL,0FH ADD AL,30H CMP AL,3AH JC NEXT ADD AL,07H NEXT:MOV [BX],AL INC BX ROR DX,CL DEC CH JNZ AA1 MOV AH,4CH INT 21H CODE ENDS END START

17£®ÏÖÓÐÒ»¸öÒÔ¡°$¡±½áβµÄ×Ö·û´®£¬±àд³ÌÐòÍê³ÉÌÞ³ý×Ö·û´®ÖеĿոñ×Ö·û¡£ ½â:²Î¿¼³ÌÐòÈçÏÂ:

DATA SEGMENT

ABC DB ¡®ABC DS9KL$¡¯ DATA ENDS

CODE SEGMENT ASSUME CS:CODE£¬DS:DATA

START:MOV AX,DATA

MOV DS,AX LEA SI,ABC MOV BX,SI AA: MOV AL,[SI]

CMP AL,¡¯$¡¯ JZ NEXT

CMP AL,20H ;¿Õ¸ñµÄASCIIÂëֵΪ20H

JZ NEXT1 MOV AL,[SI] MOV [BX],AL INC SI INC BX JMP AA

NEXT1:INC SI

JMP AA NEXT: MOV AH,4CH

INT 21H CODE ENDS END START

18£®±àÒ»³ÌÐò£¬ÔÚSTRING¿ªÍ·µÄÊý¾ÝÇøÖвéÕÒWE×Ö·û´®£¬Êý¾ÝÇøÒÔ$·û×÷Ϊ½áÊø·ûºÅ¡£Èç²éµ½£¬¸ø³öHAVE FOUNDÌáʾ£»Èç²é²»µ½£¬¸ø³öNOT FOUNDÌáʾ¡£

½â:²Î¿¼³ÌÐòÈçÏÂ:

DATA SEGMENT

STRING DB ¡®ABCWE5$¡¯

RE DB ¡®NOT FOUND$¡¯ RE1 DB ¡®HAVE FOUND$¡¯

DATA ENDS CODE SEGMENT

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

MOV DS,AX LEA SI,STRING

AA: MOV AL,[SI] CMP AL,¡¯$¡¯ JZ NEXT

CMP AL,¡¯W¡¯ JNZ NEXT1 INC SI MOV AL,[SI] CMP AL,¡¯E¡¯ JNZ AA LEA DX£¬RE1 JMP NEXT2 JMP AA

NEXT1:INC SI NEXT:LEA DX,RE NEXT2:MOV AH,09H

INT 21H INT 21H

MOV AH,4CH

CODE ENDS END BEGIN

19£®ÉèÔÚA¡¢BºÍCµ¥ÔªÖÐ·Ö±ð´æ·Å×ÅÈý¸öÊý£¬ÈôÈý¸öÊý¶¼²»ÊÇ0£¬ÔòÇó³öÈýÊýÖ®ºÍ²¢´æ·ÅÔÚDµ¥ÔªÖУ»ÈôÈý¸öÊýÖÐÓÐÒ»¸öΪ0£¬Ôò°ÑÆäÓàÁ½¸öµ¥ÔªÒ²Çå0¡£ÊÔ±àд´Ë³ÌÐò¡£ ½â:²Î¿¼³ÌÐòÈçÏÂ:

DATA SEGMENT

A DB ? B DB ?

C DB ? £»³ÌÐòÔËÐÐǰÐÞ¸ÄA¡¢BºÍCµ¥ÔªµÄÄÚÈÝ D DB ? DATA ENDS

CODE SEGMENT

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

MOV DS,AX MOV AL,A CMP AL,00H JZ NEXT MOV AL,B CMP AL,00H JZ NEXT MOV AL,C CMP AL,00H JZ NEXT MOV AL,A ADD AL,B ADD AL,C MOV D,AL JMP NEXT1

NEXT: MOV A,00H

MOV B,00H

MOV C,00H NEXT1: MOV AH,4CH INT 21H

CODE ENDS

END START

20£®ÔÚÒÔDA1ΪÊ×µØÖ·µÄÄÚ´æÖÐÓÐ50¸öÎÞ·ûºÅ×Ö½ÚÊý£¬±àд³ÌÐòͳ¼ÆÆäÖÐËØÊýµÄ¸öÊý£¬½á¹ûÒÔÊ®½øÖÆÐÎʽÔÚÆÁÄ»ÉÏÏÔʾ¡£ÒªÇó·Ö±ðÓÃ×Ó³ÌÐòÍê³ÉËØÊý¸öÊýͳ¼Æ¼°Ê®½øÖÆÊýÏÔʾ¡£ ½â:·ÖÎö: ËØÊý£¬ÓÖ³ÆÖÊÊý£¬ÊÇÕâÑùµÄÕûÊý:Ëü³ýÁËÄܱíʾΪËü×Ô¼ººÍ1µÄ³Ë»ýÒÔÍ⣬²»ÄܱíʾΪÈÎºÎÆäËûÁ½¸öÕûÊýµÄ³Ë»ý¡£ÅжÏÒ»¸öÕûÊýÊÇ·ñÎªËØÊýµÄ·½·¨:ÓÃÕâ¸öÊý³ýÒÔ2µ½Ëü±¾Éí£¬Èç¹ûÖ»Äܱ»Ëü±¾ÉíÕû³ýÔòÎªËØÊý¡£²Î¿¼³ÌÐòÈçÏÂ: DATA SEGMENT

TTL DB 'TOTAL NUMBER OF PRIME NUMBER(S): $' TEN DW 10

PCOUNT DB 0

DA1 DB 1,2,3,4,5,6,7,8,9,10

DB 11,12,13,14,15,16,17,18,19,20 DB 21,22,23,24,25,26,27,28,29,30 DB 31,32,33,34,35,36,37,38,39,40 DB 41,42,43,44,45,46,47,48,49,50 DATA ENDS

CODE SEGMENT

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

MOV DS,AX LEA SI,DA1

MOV DI,50 ;Óà DI ×öÖ÷Ñ­»·¼ÆÊýÆ÷ CLD

M_1: LODSB ;´ÓDS:SIȡһ¸öÎÞ·ûºÅÕûÊýµ½AX

CALL ISPRIME JNC M_2 INC PCOUNT

CALL PRINTAX ;ÊÇËØÊýÔòÊä³öAXÀïµÄÊ®½øÖÆÊý MOV DL,9 ;ÓÃÖÆ±í·û·Ö¸ô CALL PUTC M_2: DEC DI

JNZ M_1 ;50¸öÊýÍê³É£¿

MOV DX,OFFSET TTL ;Êä³öËØÊý×ÜÊý CALL PUTS

MOV AL,PCOUNT ;Êä³öËØÊý×ÜÊý XOR AH,AH CALL PRINTAX MOV AH,4CH INT 21H ISPRIME PROC

CBW TEST AX,1 ;ÊÇ·ñΪżÊý

JNZ IP_1 ;ÈôÊÇżÊýÖ±½Ó·µ»Ø IP_0: CLC ;CF=0±íʾÊǺÏÊý

RET

IP_1: CMP AX,1 ;1»ò0?

JBE IP_0 ;²»ÊÇËØÊý CMP AX,3

JE IP_4 ;3ÊÇËØÊýÖ±½Ó·µ»Ø MOV CX,3 ;´Ó3¿ªÊ¼Ñ­»· IP_2: MOV BX,AX ;Áô¸ö¸±±¾ÔÚBXÀï

XOR DX,DX ;Ϊ³ý·¨Çå³ýDX DIV CX

MOV AX,BX ;»Ö¸´AXÀïµÄÊý OR DX,DX ;ÓàÊýΪ0·ñ JZ IP_0 ;Ϊ0ΪºÏÊý

ADD CX,3 ;±¾À´ÊdzýÊý¼Ó2£¬Ö»³¢ÊÔ³ýÊýÎªÆæÊýµÄÇé¿ö¼´¿É£¬Ö±½Ó¼Ó3ÊÇΪÁ˱ȽÏCXÊÇ·ñÒÔ¼°µ½ÁËAX-1

CMP CX,AX

JB IP_3 ;ÈôCX¸ßÓÚ»òµÈÓÚAX£¬ËµÃ÷³ýÊýÒѾ­³¢ÊÔµ½ÁËN-1£¬AXÊÇËØÊý£¬Ö±½Ó·µ»Ø£¬·ñÔò¼ÌÐøµ½IP_3

IP_4: STC ;CF=1±íʾÊÇËØÊý

RET IP_3: DEC CX ;CX-1²ÅÊÇÕæÕýϸöÒª³¢ÊԵijýÊý

JMP IP_2 ;¼ÌÐøÊÔ ISPRIME ENDP PUTS PROC MOV AH,9 INT 21H RET

PUTS ENDP PUTC PROC MOV AH,2 INT 21H RET

PUTC ENDP PRINTAX PROC

XOR DX,DX DIV TEN MOV CX,AX OR CX,DX ;ÈôÉÌÓëÓàÊý¶¼Îª0Ôò½áÊøµÝ¹é JZ P_1

PUSH DX ;Áô´æDXÖеÄÓàÊýÒÔÔڵݹéºóÊä³ö CALL PRINTAX ;µÝ¹é

POP DX ;´Ó×î¸ßλ¿ªÊ¼»Ö¸´ÓàÊý

ADD DL,'0' ;Ô­À´µÄÊä³öÓï¾äADDһϾͺÃÁË CALL PUTC P_1: RET

PRINTAX ENDP CODE ENDS END MAIN

µÚÎåÕÂ

1£®Ñ¡ÔñÌâ

£¨1£©¹Øµô¹¤×÷µçÔ´ºó£¬ÆäÖд洢µÄÊý¾ÝÁ¢¼´¶ªÊ§µÄ´æ´¢Æ÷ÊÇ ¡£ A£®Ó²ÅÌ B£®ROM C£®¹âÅÌ D£®RAM £¨2£©ÏÂÃæËµ·¨ÕýÈ·µÄÊÇ ¡£ A£®EPROMÊDz»ÄܸÄдµÄ´æ´¢Æ÷

B£®EPROMÊÇ¿ÉÒÔ¸ÄдµÄ£¬Òò´ËËüÒ²ÊÇÒ»ÖÖËæ»ú´æÈ¡´æ´¢Æ÷

C£®EPROMÖ»ÄܸÄдһ´Î D£®EPROM¿ÉÒÔ¸Äд£¬µ«Ëü²»ÊÇËæ»ú´æÈ¡´æ´¢Æ÷ £¨3£©Ä³DRAMоƬÓÐ8ÌõµØÖ·Ïߣ¬ÒòЩ¿ÉÒÔÍÆ¶ÏÆä´æ´¢ÈÝÁ¿²»³¬¹ý ¡£ A£®512¸ö´æ´¢µ¥Ôª B£®65536¸ö´æ´¢µ¥Ôª C£®8192¸ö´æ´¢µ¥Ôª D£®256¸ö´æ´¢µ¥Ôª

£¨4£©¶ÔÓÚµØÖ·×ÜÏßΪ20λµÄ΢´¦ÀíÆ÷À´Ëµ£¬ÆäÖ±½ÓѰַµÄ·¶Î§¿É´ï ¡£ A£®16MB B£®1MB C£®64MB D£®1GB

£¨5£©ÔÚÑÐÖÆÄ³Ò»¼ÆËã»úÓ¦ÓÃϵͳµÄ¹ý³ÌÖУ¬´æ´¢Æä¼à¿Ø³ÌÐò¿ÉÑ¡Óà ¡£ A£®RAM B£®EPROM C£®PROM D£®ROM £¨6£©ÏÂÁÐËÄÌõÐðÊöÖУ¬ÕýÈ·µÄÒ»ÌõÊÇ ¡£

A£®Ó²Å̺͹âÅ̶¼ÊôÓÚÍâ´æ´¢Æ÷ B£®¼ÆËã»úµÄÍâ´æ±ÈÄÚ´æ´æÈ¡ËÙ¶È¿ì C£®ÐéÄâ´æ´¢Æ÷ÊôÍâ´æ´¢Æ÷

D£®¼ÆËã»úϵͳÖеÄÈκδ洢Æ÷ÔڶϵçÇé¿öÏ£¬Ëù´æÐÅÏ¢¶¼²»»á¶ªÊ§ £¨7£©³£ÓõÄÐéÄâ´æ´¢Æ÷ѰַϵͳÓÉ Á½¼¶´æ´¢Æ÷×é³É¡£ A£®Cache-Íâ´æ B£®Cache-Cache C£®Cache-Ö÷´æ D£®Ö÷´æ-Íâ´æ

£¨8£©ÏÂÁйØÓÚÍâ´æ¡¢ÄÚ´æÒÔ¼°CacheµÄ²»ÕýÈ·µÄ˵·¨ÊÇ ¡£ A£®ÄÚ´æÍ¨³£ÓÉRAM¡¢ROMоƬ×é³É B£®Cache¿ÉÒÔÔÚCPUÄÚ²¿»òÍⲿ

C£®CacheÖ»Õ¼Óò¿·ÖÄÚ´æ¿Õ¼ä D£®Íâ´æµÄÐÅÏ¢±ØÐëµ÷ÈëÄÚ´æ²ÅÄܱ»CPUÖ´ÐÐ £¨9£©ÐéÄâ´æ´¢Æ÷ÓÉ ÊµÏÖ¡£

A£®Ó²¼þºÍÓû§±à³Ì B£®Ó²¼þºÍ²Ù×÷ϵͳ C£®ROM-BIOS D£®Óû§±à³ÌºÍ²Ù×÷ϵͳ

£¨10£©²»ÄÜÓëCPU×ÜÏßÖ±½ÓÏàÁ¬µÄ´æ´¢Æ÷ÊÇ ¡£ A£®ÄÚ´æ´¢Æ÷ B£®ROM C£®Ó²ÅÌ D£®RAM ½â£º²Î¿¼´ð°¸£º ÌâºÅ £¨1£© £¨2£© £¨3£© £¨4£© £¨5£© ´ð°¸ D D B B B ÌâºÅ £¨6£© £¨7£© £¨8£© £¨9£© £¨10£© ´ð°¸ A D B B C 2£®¼ò´ðÌâ

£¨1£©¼òÊöSRAMоƬÓëDRAMоƬµÄ¹²Í¬µãÓ벻ͬµã¡£

´ð£ºSRAMÓëDRAMµÄ¹²Í¬µã£º¶¼ÊôÓÚËæ»ú´æÈ¡´æ´¢Æ÷£¬¾ßÓÐÒ×ʧÐÔ¡£ SRAMÓëDRAMµÄ²»Í¬µã£ºSRAMÀûÓÃË«ÎÈ̬´¥·¢Æ÷µç·±£´æÐÅÏ¢£¬¼¯³É¶È±ÈDRAMµÍ£¬¹¦ºÄ±ÈDRAM´ó£»DRAMÀûÓÃMOS¹ÜÕ¤¼«ºÍÔ´¼«Ö®¼äµÄ¼«¼äµçÈÝC±£´æÐÅÏ¢£¬ÐèҪˢе緱£Ö¤ÐÅÏ¢½Ï³¤Ê±¼ä±£´æ¡£

£¨2£©ÐðÊöROMоƬµÄ³£¼û·ÖÀ࣬¸÷ÖÖROMоƬµÄÌØµã¼°ÆäÊÊÓó¡ºÏ¡£

´ð£ºROMµÄ³£Ó÷ÖÀà¡¢ÌØµã¼°Ó¦Óó¡ºÏ£º

¢ÙÑÚĤROM£ºÉú²úÍê³ÉµÄоƬÒѱ£´æÁËÐÅÏ¢£¬±£´æµÄÐÅÏ¢ÎÞ·¨Ð޸ģ¬ÊÊÓÃÓÚ´óÅúÁ¿µÄ¶¨ÐͲúÆ·ÖС£

¢ÚPROM£ºPROM¿ÉÒÔÒ»´ÎдÈëÐÅÏ¢£¬Ò»µ©Ð´ÈëÎÞ·¨¸ü¸Ä£¬ÊÊÓÃÓÚСÅúÁ¿µÄ¶¨ÐͲúÆ·ÖС£ ¢ÛEPROM£º×ÏÍâÏß²Á³ý¿É¶à´Î±à³ÌµÄ´æ´¢Æ÷£¬ÊÊÓÃÓÚвúÆ·µÄ¿ª·¢¡£ ¢ÜEEPROM£ºµç²Á³ý¿É¶à´Î±à³ÌµÄ´æ´¢Æ÷£¬ÊÊÓÃÓÚÐèÒªÔÚÏßÐ޸ĵij¡ºÏ¡£ £¨3£©Ö÷´æ´¢Æ÷µÄµØÖ·ÒëÂ뷽ʽÓÐÄļ¸ÖÖ£¿¸÷ÓÐÊ²Ã´ÌØµã£¿ ´ð£ºÖ÷´æ´¢Æ÷µÄµØÖ·ÒëÂ뷽ʽ·ÖΪȫ²¿ÒëÂëÓ벿·ÖÒëÂë¡£ È«²¿ÒëÂ룺°ÑÊ£ÓàµÄ¸ßλµØÖ·ÏßÈ«²¿×÷ΪÒëÂëÆ÷µÄÊäÈ룬ÓÃÒëÂëÆ÷Êä³öÀ´×÷ΪƬѡÐźŵķ½·¨¾ÍÊÇÈ«²¿ÒëÂë¡£²ÉÓÃÈ«ÒëÂëʱ¸÷оƬ£¨×飩µÄµØÖ··¶Î§ÊÇΨһµÄ£¬¼´Ã¿¸ö´æ´¢µ¥ÔªµÄµØÖ·Î¨Ò»£¬Ã»ÓеØÖ·Öصþ£¬µØÖ·¿Õ¼ä¿ÉÒԵõ½³ä·ÖÀûÓá£

²¿·ÖÒëÂ룺ÓÃÊ£Óà¸ßλµØÖ·ÏßµÄÒ»²¿·Ö×÷ΪÒëÂëÆ÷µÄÊäÈ룬ÓÃÒëÂëÆ÷µÄÊä³öÀ´×÷ΪƬѡÐźŵķ½·¨¾ÍÊDz¿·ÖÒëÂë¡£²ÉÓò¿·ÖÒëÂëʱ£¬´æ´¢Æ÷µ¥ÔªµÄµØÖ·²»Î¨Ò»£¬´æÔÚµØÖ·Öصþ¡£Ã»ÓвμÓÒëÂëµÄµØÖ·ÏßÔ½¶à£¬µØÖ·Öصþ¾ÍÔ½ÑÏÖØ¡£

£¨4£©ÀûÓÃ4Ƭ6116£¨2K¡Á8λ£©Ð¾Æ¬Éè¼Æ´æ´¢Æ÷ϵͳʱ£¬²ÉÓÃÈ«ÒëÂë·¨²¢ÇÒ±£Ö¤´æ´¢Æ÷µØÖ·µÄÁ¬Ðø£¬ÈôÆðʼµØÖ·Îª60000H£¬Ôò´æ´¢Æ÷ϵͳµÄ×îºóÒ»¸öµ¥ÔªµØÖ·ÊÇʲô£¿

´ð£º´æ´¢Æ÷ϵͳµÄ×îºóÒ»¸öµ¥ÔªµØÖ·ÊÇ61FFFH¡£

£¨5£©Ä³Î¢»úϵͳÖÐROMÇøÓÐÊ×µØÖ·Îª90000H£¬Ä©µØÖ·ÎªFFFFFH£¬ÇóÆäROMÇøÓòµÄ´æ´¢ÈÝÁ¿¡£

´ð£ºÆäROMÇøÓòµÄ´æ´¢ÈÝÁ¿Îª448K¡£

£¨6£©¶ÔÓÚÏÂÁÐоƬ£¬ËüÃÇµÄÆ¬ÄÚµØÖ·Ï߸÷ÓжàÉÙ¸ù£¿Èô·Ö±ðÓÃÒÔÏÂоƬ×é³ÉÈÝÁ¿Îª64KBµÄÄ£¿é£¬ÇëÖ¸³ö·Ö±ðÐèÒª¶àÉÙÆ¬Ð¾Æ¬£¿ ¢Ù Intel 2114£¨1K¡Á4λµÄSRAM£© ¢Ú Intel 6116£¨2K¡Á8λµÄSRAM£© ¢Û Intel 2764£¨8K¡Á8λµÄEPROM£©

´ð£º¢ÙIntel 2114µÄƬÄÚµØÖ·ÏßΪ10¸ù£¬×é³ÉÈÝÁ¿Îª64KBµÄ´æ´¢Æ÷Ä£¿éÐèÒª128Ƭ¡£

¢Ú Intel 6116µÄƬÄÚµØÖ·ÏßΪ11¸ù£¬×é³ÉÈÝÁ¿Îª64KBµÄ´æ´¢Æ÷Ä£¿éÐèÒª32Ƭ¡£ ¢Û Intel 2764µÄƬÄÚµØÖ·ÏßΪ13¸ù£¬×é³ÉÈÝÁ¿Îª64KBµÄ´æ´¢Æ÷Ä£¿éÐèÒª8Ƭ¡£ £¨7£©¼òÊö¸ßËÙ»º³å´æ´¢Æ÷CacheµÄ»ù±¾¹¤×÷Ô­ÀíÒÔ¼°ËüÓëÖ÷´æµÄ¹ØÏµ¡£

´ð£ºÔÚijһʱ¼ä¼ä¸ôÄÚ£¬CPU¶Ô¾Ö²¿·¶Î§µÄ´æ´¢Æ÷·ÃÎÊ½ÏÆµ·±£¬¶ø¶ÔÆäËüµØÖ·µÄ·ÃÎʽÏÉÙ¡£Ê¹ÓøßÐÔÄܵÄSRAMоƬ×é³ÉÈÝÁ¿½ÏСµÄCache£¬´æ·Åµ±Ç°³£ÓõĴúÂ룬±£Ö¤CPU¶ÁÈ¡CacheÖÐÊý¾ÝµÄÃüÖÐÂʽϸߣ¬Ëõ¶ÌÏàÓ¦µÄ´æÈ¡Ê±¼ä¡£

£¨8£©²ÉÓÃÐéÄâ´æ´¢¼¼ÊõÄܽâ¾öʲôÎÊÌ⣿ÐéÄâ´æ´¢Æ÷µÄ¹ÜÀí·½Ê½ÓÐÄļ¸ÖÖ£¿

´ð£ºÊ¹ÓÃÐéÄâ´æ´¢Æ÷¿ÉÒÔ±£Ö¤¼ÆËã»úÔÚ²»Ìá¸ß³É±¾µÄǰÌáÏ£¬Ìá¸ßÓÐЧµÄ´æ´¢¿Õ¼ä¡£ ÐéÄâ´æ´¢Æ÷µÄ¹ÜÀí·½Ê½ÓУº¶Îʽ¡¢Ò³Ê½¡¢¶Îҳʽ¡£

3£®Éè¼ÆÌâ £¨1£©ÔÚ8088CPUµÄϵͳÖÐÀ©Õ¹32K×Ö½ÚµÄRAM£¬ÆäÀ©³ä´æ´¢¿Õ¼äµÄÆðʼµØÖ·Îª80000H¡£ÉèϵͳµÄµØÖ·×ÜÏßΪA19~A0£¬Êý¾Ý×ÜÏßΪD7~D0£¬´æ´¢Æ÷оƬѡÓÃ6264¡£²ÉÓÃ74LS138ÒëÂëÆ÷Éè¼ÆÒëÂëµç·£¬»­³öÀ©Õ¹µÄ´æ´¢Æ÷ϵͳµÄÁ¬Ïßͼ¡£ ½â£ºÏµÍ³BUS D0~D7 D~D MEMW MEMR A0~A12

A19 A18 A17 A16 A 15 A14

A13 07 R/W D0~D7 6264 1# CS OE A0~A12 R/W D0~D7 6264 2# CS OE A0~A12 R/W D0~D7 6264 3# CS OE A0~A12 R/W D0~D7 6264 4# CS OE A0~A12

G1 Y1 G2A Y2 G2B 74LS138 Y3 C B A Y0 A0~A12 ͼ5.7 ϰÌâ3£¨1£©Á¬½Ó ¸ù¾ÝÒªÇó´æ´¢Æ÷ϵͳµÄÁ¬½ÓÈçͼ5.7Ëùʾ¡£

£¨2£©Ä³Î¢»úϵͳµÄCPUΪ8088£¬ÇÒ¹¤×÷ÓÚ×îС·½Ê½£¬Ô­ÓÐϵͳRAM´æ´¢Æ÷Ä£¿éµÄÈÝÁ¿Îª128KB£¬ÆäÊ×µØÖ·Îª40000H£¬ÏÖÓÃ6264RAMоƬ£¨8K¡Á8룩À©Õ¹Ò»¸öÈÝÁ¿Îª16KBµÄ´æ´¢Æ÷Ä£¿é£¬µØÖ·½ô½ÓÔ­ÓÐRAMÄ£¿é£¬ÊÔÍê³É¸ÃÀ©Õ¹RAMÄ£¿éÉè¼Æ£¨¿ÉÑ¡ÓÃÒëÂëÆ÷¡¢ÓëÃÅ¡¢»òÃż°·ÇÃŵȣ©¡£

½â£ºÔ­RAM´æ´¢Æ÷ϵͳµÄÈÝÁ¿Îª128KB£¬ÇÒÊ×µØÖ·Îª40000H£¬ÔòÄ©µØÖ·Îª5FFFFH£¬ÏÖRAM´æ´¢Æ÷µÄÊ×µØÖ·Îª60000H¡£¸ÃRAMÀ©Õ¹Ä£¿é²ÉÓÃ2Ƭ6264£¬ÆäÉè¼ÆÈçͼ5.8Ëùʾ¡£

A18 A17 G1Y0 Y1 A16

G 2AA19 Y2

G2B M/IO Y3 74LS138 A C 15?

A14 B Y7 A13 A D7~D0

MEMW

D7~D0 D7~D0 CS CS 8088ϵͳ ×ÜÏß WE 6264(1) WE 6264(2)

A12~A0 A12~A0 OE OE

MEMR

A12~A0

ͼ5.8 ϰÌâ3£¨2£©Á¬½Ó µÚÁùÕÂ

1£® Ìî¿ÕÌâ

£¨1£©I/OÊý¾Ý»º³åÆ÷Ö÷ÒªÓÃÓÚЭµ÷CPUÓëÍⲿÉ豸ÔÚ ËÙ¶È ÉϵIJîÒì¡£

£¨2£©Ò»°ãI/O½Ó¿ÚµÄ±àÖ··½Ê½¿ÉÒÔ·Ö³É ´æ´¢Æ÷Ó³Ïñ·½Ê½ ºÍ I/OÓ³Ïñ·½Ê½ Á½ÖÖ¡£ £¨3£©ÔÚ΢»úϵͳÖÐʹÓà µØÖ· À´Çø·Ö²»Í¬µÄÍⲿÉ豸¡£ £¨4£©CPUÓëI/OÉ豸֮¼äµÄÊý¾Ý´«ËÍ·½Ê½ÓÐ ÎÞÌõ¼þ´«ËÍ·½Ê½ ¡¢³ÌÐò²éѯ´«ËÍ·½Ê½ ¡¢ ÖжϿØÖÆ·½Ê½ ºÍ DMA·½Ê½ ¡£

£¨5£©Ò»Æ¬Intel8255AÒ»°ãÕ¼Óà 4 ¸ö¶Ë¿ÚµØÖ·¡£

£¨6£©Intel8255AµÄ¶Ë¿ÚCµÄ°´Î»ÖÃλ/¸´Î»¹¦ÄܵĿØÖÆ×ÖдÈë ¿ØÖƼĴæÆ÷ ¶Ë¿Ú¡£ £¨7£©Intel8255A¹¤×÷ÔÚ·½Ê½0ʱ£¬¶Ë¿ÚA¡¢BºÍCµÄÊäÈë/Êä³ö¿ÉÒÔÓÐ 16 ÖÖ×éºÏ¡£ £¨8£©ÔÚDMA´«Ë͹ý³ÌÖÐÍê³ÉÊý¾Ý´«Ë͹¦ÄÜÊÇÓÉ DMA¿ØÖÆÆ÷ Ó²¼þÖ±½Ó¿ØÖÆ¡£ £¨9£©ÔÚDMA·½Ê½Ï£¬ DMA¿ØÖÆÆ÷ ¿ØÖÆ×ÜÏß¡£

£¨10£©ÔÚDMAÊý¾Ý´«ËÍ·½Ê½ÖУ¬ÊµÏÖµØÖ·µÄÐÞ¸ÄÓë´«ËÍ×Ö½ÚÊý¼ÆÊýµÄÖ÷Òª¹¦Äܲ¿¼þÊÇDMA¿ØÖÆÆ÷¡£

2£® »­³ö³ÌÐò²éѯÊý¾Ý´«ËÍ·½Ê½µÄÁ÷³Ìͼ¡£ ½â£º³ÌÐòÁ÷³ÌÈçͼ6.6Ëùʾ¡£

¶Áȡ״̬ÐÅÏ¢

·ñ ×¼±¸¾ÍÐ÷Â𣿠ÊÇ

´«ËÍÊý¾Ý

ͼ6.6 ²éѯ·½Ê½³ÌÐòÁ÷³Ì

3£®¼ÙÉèijһ¼ÆËã»úϵͳÖÐÓÐһƬIntel8255A½Ó¿ÚоƬ£¬³õʼ»¯Ê±½«ËüµÄA¿Ú¡¢B¿Ú¾ùÉèÖóɷ½Ê½1Êä³ö£¬Çëд³öÕâʱIntel8255AÓëÍâÉèµÄÁªÂçÐźÅÃû³ÆÓëÐźŷ½Ïò¡£

´ð£ºA¿ÚÉèÖóɷ½Ê½1Êä³öʱµÄÁªÂçÐźÅÓУº

OBFA£ºÊä³ö»º³åÆ÷»ºÐźţ¬8255AÊä³ö¸øÍâÉ裻 ACKA£ºÓ¦´ðÐźţ¬ÍâÉè¸ø8255A£»

INTRA£ºÖжÏÇëÇóÐźţ¬8255AÊä³ö¸øCPU¡£ B¿ÚÉèÖóɷ½Ê½1Êä³öʱµÄÁªÂçÐźÅÓУº

OBFB£ºÊä³ö»º³åÆ÷»ºÐźţ¬8255AÊä³ö¸øÍâÉ裻 ACKB£ºÓ¦´ðÐźţ¬ÍâÉè¸ø8255A£»

INTRB£ºÖжÏÇëÇóÐźţ¬8255AÊä³ö¸øCPU¡£

4£®¼ÙÉèIntel8255AµÄA¿ÚµØÖ·Îª300H£¬B¿ÚµØÖ·Îª301H£¬C¿ÚµØÖ·Îª302H£¬¿ØÖƿڵØÖ·Îª303H£¬Çë±àд³ÌÐò¶Î£¬·Ö±ðÍê³É£º

£¨1£© ÉèÖÃA¿ÚºÍB¿Ú¾ùΪ·½Ê½0ÊäÈ룬C¿ÚΪ·½Ê½0Êä³ö£» £¨2£© ÉèÖÃA¿ÚΪ·½Ê½2£¬B¿ÚΪ·½Ê½1ÊäÈ룻

£¨3£© ÉèÖÃA¿ÚΪ·½Ê½1ÊäÈ룬B¿ÚΪ·½Ê½1ÊäÈ룬PC6£¬PC7ΪÊä³ö¡£ ½â£º£¨1£©MOV DX£¬303H

MOV AL£¬10010010B

OUT DX£¬AL £¨2£©MOV DX£¬303H

MOV AL£¬11011111B OUT DX£¬AL

£¨3£©MOV DX£¬303H

MOV AL£¬10110111B OUT DX£¬AL

5£®Ð´³öͼ6.7ÖÐIntel8255AÕ¼ÓõÄËĸö¶Ë¿ÚµØÖ·¡£

D0~D7 D0~D7 IOR RD IOW WR A2 A1 A15

A1 A0 ?

A4 8255A

A3 A0 CS AEN

½â£º8255AµÄA¿ÚµØÖ·Îª£ºFFF0H£»

B¿ÚµØÖ·Îª£ºFFF2H£» C¿ÚµØÖ·Îª£ºFFF4H£» ¿ØÖƿڵØÖ·Îª£ºFFF6H¡£

6£®¼ÙÉèIntel8255AµÄ¶Ë¿ÚµØÖ·Îª120H~123H£¬±àд³ÌÐò¶ÎʹËüµÄPC4²úÉúÒ»¸öÕýÂö³å¡£ ½â£º²Î¿¼³ÌÐò¶ÎÈçÏ£º

MOV DX£¬0123H MOV AL£¬10000000B

OUT DX£¬AL £»³õʼ»¯8255A MOV AL£¬00001000B OUT DX£¬AL NOP NOP INC AL

OUT DX£¬AL NOP NOP DEC AL

OUT DX£¬AL HLT

7£®Ò»¸ö¾ßÓÐ16¼üµÄ¼òÒ×¼üÅÌ£¬ÈôÖ»ÔÊÐíʹÓÃIntel8255AµÄÒ»¸ö¶Ë¿Ú×÷¼üÅ̽ӿڵç·£¬ÇëÎÊӦѡÓÃÄÄÒ»¸ö¶Ë¿Ú£¿ÈôһƬIntel8255AµÄÈý¸ö¶Ë¿Ú¾ùÖ±½ÓÓÃÓÚ¿ØÖƷDZàÂë¼üÅÌ£¬×î¶àµÄ¼üÊýΪ¶àÉÙ£¿

½â£ºÒ»¸ö¾ßÓÐ16¼üµÄ¼òÒ×¼üÅÌ£¬ÈôÖ»ÔÊÐíʹÓÃIntel8255AµÄÒ»¸ö¶Ë¿Ú×÷¼üÅ̽ӿڵç·£¬Ó¦Ñ¡ÓÃC¿Ú¡£

ͼ6.7 ϰÌâ5µÄÓ²¼þÁ¬½Ó

ÈôһƬIntel8255AµÄÈý¸ö¶Ë¿Ú¾ùÖ±½ÓÓÃÓÚ¿ØÖƷDZàÂë¼üÅÌ£¬×î¶àµÄ¼üÊýΪ144¡£

8£®Í¼6.8ÊÇһƬIntel8255AÓëÈíÅÌ¿ØÖÆÆ÷Á¬½ÓµÄÐźŷÖÅ䣬¼ýÍ·±êÃ÷ÁËI/OµÄ·½Ïò¡£¼ÙÉèIntel8255AµÄ¶Ë¿ÚµØÖ·Îª1200H~1203H£¬¸ù¾Ý¸Ãͼ±àдIntel8255AµÄ³õʼ»¯³ÌÐò¡£

·½Ê½0 ·½Ê½2 PC3 ÖжÏÇëÇó

PA0 PA1 ?PA7 PC4 PC5 PC6 PC7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2

Ñ¡ÏìÏì¾ÍÑ¡²½¶Áд´ÅÆô´ÅµçͬË÷D D ? D 017 ͨӦӦÐ÷Ôñ½øÑ¡Ñ¡ÅÌÓÃÍ·»ú²½ÒýµÀ£¨£¨Ñ¡Ê¹×¼´«Çý·½Í¨Í¨Ñ¡ ³öÈëÔñÄܱ¸¸Ð¶¯ÏòÔñÈíÅÌÇý¶¯Æ÷ £©£©Æ÷Æ÷ºÃ

ͼ6.8 ϰÌâ8µÄͼʾ

0 CRC ½â£ºIntel8255AµÄ³õʼ»¯³ÌÐòΪ£º

MOV DX£¬1203H MOV AL£¬0C0H OUT DX£¬AL

MOV AL£¬00001001B

OUT DX£¬AL £»¿ª·ÅÊäÈëÖжϣ¬PC4=1 MOV AL£¬00001101B

OUT DX£¬AL £»¿ª·ÅÊä³öÖжϣ¬PC6=1

9£®ÔÚ8088×îСϵͳÖУ¬ÓÉһƬIntel8255A¹¹³ÉÊäÈë/Êä³ö½Ó¿Ú£¬ÒªÇó¶Ë¿ÚµØÖ·Îª240H~243H£¬Intel8255AµÄA¿Ú½ÓÊäÈëÉ豸£¬´ÓA¿Ú¶ÁÈëÊý¾Ý²¢¶ÔÕâÒ»Êý¾ÝµÄµÍ4λȡ·´£¨¸ß4λ²»±ä£©ºó£¬´ÓB¿ÚÊä³ö¡£ÇëÍê³ÉÏÂÁÐÎÊÌ⣺

£¨1£© Éè¼ÆIntel8255AƬѡÐźŵÄÒëÂëµç·£»

£¨2£© ±àдIntel8255AµÄ³õʼ»¯¼°ÊäÈë/Êä³ö³ÌÐò¶Î¡£ ½â£º£¨1£©Ò»Öֲο¼ÒëÂëµç·£º

ͼ6.9 ϰÌâ9µÄ²Î¿¼ÒëÂëµç·

£¨2£©MOV DX£¬0243H MOV AL£¬10011001B OUT DX£¬AL MOV DX£¬0240H

IN AL£¬DX XOR AL£¬0FH MOV DX£¬0241H OUT DX£¬AL HLT

10£®¼òҪ˵Ã÷Intel8237AµÄËÄÖÖ´«ËÍ·½Ê½¡£ ´ð£º8237AÔÚDMA´«ËÍʱµÄËÄÖÖ¹¤×÷·½Ê½£º £¨1£©µ¥×Ö½Ú´«ËÍ·½Ê½

ÿ´ÎDMAÇëÇó½ö´«ËÍÒ»¸ö×Ö½ÚÄÚÈÝ¡£ £¨2£©Êý¾Ý¿é´«ËÍ·½Ê½

µ±8237A¹¤×÷ÔÚÊý¾Ý¿é´«ËÍ·½Ê½Ï£¬Ò»µ©¿ªÊ¼ÁËDMA²Ù×÷£¬¾ÍÁ¬ÐøµØ½øÐÐ×Ö½ÚÊý¾Ý´«ËÍÖ±µ½µ±Ç°×Ö½Ú¼ÆÊýÆ÷¼õµ½0£¬ÔÙ¼õÖÁ0FFFFHºó£¬²úÉúÓÐЧµÄEOPÐźÅΪֹ¡£

£¨3£©ÇëÇó´«ËÍ·½Ê½

ÇëÇó´«ËÍ·½Ê½ÀàËÆÓÚÊý¾Ý¿é´«ËÍ·½Ê½£¬µ«Ã¿´«ËÍÒ»¸ö×Ö½Úºó£¬8237A¶¼Òª¶ÔDREQÐźŽøÐмì²é£¬ÈôDREQÐźÅÎÞЧ£¬¾ÍÔÝÍ£´«ËÍÊý¾Ý¡£

£¨4£©¼¶Áª·½Ê½

8237A¿ÉÒÔ¶àÆ¬¼¶ÁªÊ¹Óã¬ÒÔÀ©Õ¹DMAͨµÀÊý¡£

¸´Ï°¸ÙÒª£º

µÚÒ»Õ ¼ÆËã»ú»ù´¡ÖªÊ¶

֪ʶҪµã£ºR½øÖÆÊý±íʾ ÊýÖÆ¼äת»» ÓзûºÅÊý±íʾ ¸¡µãÊýµÄ¹æ¸ñ»¯±íʾ

ÊýµÄÔËË㣨ËãÊõÔËËã¡¢Âß¼­ÔËËã¡¢²¹ÂëÔËË㣩 BCDÂë¡¢ASCIIÂë¡¢ºº×Ö±àÂë ÆæÅ¼Ð£Ñé

µÚ¶þÕ 8086/8088ϵͳ½á¹¹ ֪ʶҪµã£º

8086/8088µÄÄÚ²¿½á¹¹ 8086/8088µÄÄÚ²¿¼Ä´æÆ÷ 8086/8088µÄÍⲿÒý½Å 8086/8088¶Á/д²Ù×÷ʱÐò Âß¼­µØÖ·ÓëÎïÀíµØÖ·

8086ϵͳ´æ´¢Æ÷½á¹¹¼°¶Á/д²Ù×÷¹ý³Ì ¶ÑÕ»

µÚÈýÕ 8086/8088ϵͳ½á¹¹ ֪ʶҪµã£º Ѱַ·½Ê½ Ö¸Áîϵͳ

µÚËÄÕ »ã±àÓïÑÔÔ´³ÌÐòÉè¼Æ ֪ʶҪµã£º »ù±¾¸ÅÄî αָÁî

»ã±àÓïÑÔ³ÌÐòÉè¼Æ INT 21HÖ¸ÁîµÄʹÓà µÚÎåÕ ´æ´¢Æ÷×éÖ¯ ֪ʶҪµã£º ´æ´¢Æ÷·ÖÀà

´æ´¢ÏµÍ³µÄ·Ö¼¶½á¹¹ ´æ´¢Æ÷µÄÖ÷ÒªÖ¸±ê °ëµ¼Ìå´æ´¢Æ÷ ´æ´¢Æ÷µÄÀ©Õ¹ ƬѡÐźŵĴ¦Àí

µÚÁùÕ ²¢ÐÐÊäÈë/Êä³ö½Ó¿Ú ֪ʶҪµã£º I/O½Ó¿ÚµÄ¹¦ÄÜ I/O½Ó¿ÚµÄ»ù±¾½á¹¹ I/O½Ó¿ÚµÄ±àÖ··½Ê½ CPUÓëÍâÉèµÄÐÅÏ¢½»»»·½Ê½ ¼òµ¥I/O²¢ÐÐ½Ó¿Ú Intel8255A¼°ÆäÓ¦ÓÃ

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)