¡¶Î¢»úÔÀíÓë½Ó¿Ú¼¼Êõ¡·¸´Ï°Ìâ Ò»¡¢Ìî¿ÕϰÌâ½²½â
1. ¼ÆËã»úÓÉÔËËãÆ÷¡¢¿ØÖÆÆ÷¡¢´æ´¢Æ÷¡¢ÊäÈëÉ豸ºÍÊä
³öÉ豸Îå´ó²¿·Ö×é³É¡£
2. ÔËËãÆ÷ºÍ¿ØÖÆÆ÷ºÏ³ÆÎªÖÐÑë´¦ÀíÆ÷¡£
3. 8086CPUÊÇÓÉ×ÜÏß½Ó¿Ú²¿¼þBIUºÍÖ´Ðв¿¼þEUÁ½¸ö
²¿¼þ×é³ÉµÄ¡£
4. ¸ù¾Ý´«Ë͵ÄÐÅÏ¢ÀàÐÍ£¬ÏµÍ³×ÜÏß¿ÉÒÔ·ÖΪÈýÀࣺÊý
¾Ý×ÜÏß¡¢µØÖ·×ÜÏߺͿØÖÆ×ÜÏß¡£
5. °ëµ¼Ìå´æ´¢Æ÷°´´æÈ¡·½Ê½²»Í¬£¬·ÖÎªËæ»ú´æÈ¡´æ´¢
Æ÷ºÍÖ»¶Á´æ´¢Æ÷£¨ROM£©¡£
6. 8086µÄ´æ´¢Æ÷²ÉÓöνṹ·½Ê½£¬Ò»¸ö¶ÎµÄ×î´ó³¤¶È
Ϊ64K¡£
7. PC»úÖн«ÎïÀíµØÖ··ÖΪÁ½¸ö²¿·Ö£º¶ÎµØÖ·ºÍÆ«ÒÆµØ
Ö·¡£
8. ÓÐЧµØÖ·ÖпÉÓÐÈý¸öµØÖ··ÖÁ¿£¬·Ö±ðÎªÎ»ÒÆÁ¿¡¢»ù
Ö·ºÍ±äÖ·¡£ ¶þ¡¢Ñ¡Ôñ
1. Ê®½øÖÆÊý123µÄ°Ëλ¶þ½øÖƲ¹ÂëΪ£¨A£©¡£A£®01111011 2. BCDÂëµÄÊ®½øÖÆÊýΪ£¨C£©¡£C£®91 3. ¶ÑÕ»²Ù×÷µÄÌØµãÊÇ£¨B£©¡£B£®ºó½øÏȳö 4. 8086CPUµÄµØÖ·×ÜÏßΪ£¨B£©Î»¡£B£®20
5. ͨ³££¬Ò»¸ö×ÜÏßÖÜÆÚ¶Áȡһ¸ö£¨B£©µÄÖ¸Áî´úÂë¡£B£®×Ö 6. IPÊÇÓÉ£¨C£©Ð޸ģ¬Ê¹Ëü×ÜÊÇÖ¸ÏòÏÂÒ»Ìõ´ýÈ¡µÄÖ¸
Áî¡£C£®BIU
7. Ö¸ÁîMOV AX£¬TABLE[BX][SI]µÄѰַ·½Ê½ÊÇ£¨B £©¡£
B£®Ïà¶Ô»ùÖ·±äַѰַ
8. Ö¸ÁîJMP BXµÄѰַ·½Ê½ÊÇ£¨B £©¡£B£®¶ÎÄÚ¼ä½ÓѰ
Ö·
9. CPUÖÐÔËËãÆ÷µÄÖ÷Òª¹¦ÄÜÊÇ£¨D£©¡£D£®ËãÊõÔËËãºÍÂß
¼ÔËËã
10. 8086ÊÇ£¨B£©¡£B£®Î¢´¦ÀíÆ÷
11. 8086´¦ÀíÆ÷ÓÐ20ÌõµØÖ·Ïߣ¬¿ÉѰַ·ÃÎʵÄ×î´ó´æ
´¢Æ÷¿Õ¼äΪ£¨D£©¡£D£®1M
12. 8086´¦ÀíÆ÷ÖÐͨ³£ÓÃ×÷Êý¾Ý¼Ä´æÆ÷£¬ÇÒÒþº¬Ó÷¨Îª
¼ÆÊý¼Ä´æÆ÷µÄÊÇ£¨B£©¡£B£®CX
13. ΢ÐÍ»úµÄ´æ´¢Æ÷µØÖ·Îª2000H~5FFFH£¬´æ´¢ÈÝÁ¿Îª
£¨D£©KB¡£D£®16
14. ΢´¦ÀíÆ÷ÓÃ13ÌõµØÖ·ÏßѰַ£¬ÆäѰַ·¶Î§Îª£¨C£©¡£
C£®4KB
15. ÄÄЩ´æ´¢Æ÷Ôڶϵ磨»ò¹Ø»ú£©ºó£¬ÈÔ±£ÁôÔÓÐÐÅÏ¢
£¨C£©¡£C£®ROM,£¬EPROM
16. 8086CPUѰַI/O¶Ë¿Ú×î¶àʹÓõØÖ·Ïߣ¨B£©Ìõ¡£
B£®10
Èý¡¢Çëд³öÏÂÁÐÖ¸ÁîÖÐÔ´²Ù×÷ÊýµÄѰַ·½Ê½£¬²¢¼ÆËãÎïÀíµØÖ·¡£
ÒÑÖª£º£¨DS£©=2000H£¬£¨ES£©=2100H£¬£¨SI£©=00A0H£¬ £¨SS£©=1500H£¬£¨BX£©=0100H£¬£¨BP£©=0100H£¬ Êý¾Ý±äÁ¿VALµÄÆ«ÒÆµØÖ·Îª0050H¡£ ADD AX,[100H] Ö±½ÓѰַ PA=20100H ADD AX,[BX] ¼ä½ÓѰַ PA=20100H ADD AX,ES:[BX] ¼ä½ÓѰַ PA=21100H ADD AX,[BP] ¼ä½ÓѰַ PA=15100H ADD AX,[BX+10H]
Ö±½Ó±äַѰַ PA=20110H ADD AX,VAL[BX]
Ö±½Ó±äַѰַ PA=20150H ADD AX,[BX][SI]
»ùÖ·±äַѰַ PA=201A0H ADD AX,VAL[BX][SI]
Ïà¶Ô»ùÖ·±äַѰַ PA=201F0H ADD AX,[SI] ADD AX,VAL[BP] ϰÌâ½²½â
ËÄ¡¢Î¢ÐͼÆËã»úϵͳ½á¹¹ Îå¡¢·ÖÖ§½á¹¹µÄÁ½ÖÖ³ÌÐòÁ÷³Ìͼ Áù¡¢Ñ»·´ÎÊýµÄÑ»·³ÌÐò½á¹¹Í¼
Æß¡¢ÒÑÖª£ºÔÚDATAµ¥Ôª¿ªÊ¼Á¬Ðø´æ·Å×Å10¸ö´ø·ûºÅµÄ×Ö½ÚÊý¾Ý£¬ÒªÇó¼ÆËãÆäÖÐ0µÄ¸öÊý£¬½á¹û·ÅÈëRµ¥Ôª¡£ÒªÇó±àдÍêÕûµÄ8086»ã±àÓïÑÔÔ´³ÌÐò£¨º¬È«²¿µÄαָÁ
TITLE FGREATER DATA SEGMENT
DATA DB 3£¬28£¬-4£¬22£¬0£¬-65£¬24£¬7£¬-3£¬-36 R
DB
DATA ENDS STACK
SEGMENT PARA STACK¡®STACK¡¯
DW 100 DUP£¨£© STACK ENDS COSEG SEGMENT
ASSUME CS£ºCOSEG£¬DS£ºDATA£¬SS£ºSTACK START
PROC FAR
BEGIN£º PUSH DS
MOV AX£¬0 PUSH AX MOV AX£¬DATA MOV DS£¬AX MOV AX£¬0 ϰÌâ½²½â-8255A °Ë¡¢½Ó¿ÚÉè¼Æ
1¡¢Éè8255A¹¤×÷ÔÚ·½Ê½0£¬A¿ÚΪÊäÈë¿Ú£¬B¿Ú¡¢C¿ÚΪÊä³ö¿Ú¡£ÉèÆ¬Ñ¡ÐźÅCSÓÉA9¡«A2=È·¶¨¡£Çë±à³Ì¶Ô8255A½øÐгõʼ»¯¡£
2¡¢Éè8255A¹¤×÷ÔÚ·½Ê½1£¬A¿ÚÊä³ö£¬B¿ÚÊäÈ룬PC4¡«PC5ΪÊäÈ룬½ûÖ¹B¿ÚÖжϡ£ÉèÆ¬Ñ¡ÐźÅCSÓÉA9¡«A2=È·¶¨¡£Çë±à³Ì¶Ô8255A½øÐгõʼ»¯¡£
Ò»¸ö8255AоƬµÄA¿ÚºÍB¿Ú·Ö±ðÓë8¸öLEDµÆºÍ8¸ö¿ª¹ØÁ¬½Ó£¬Í¨¹ý¿ª¹Ø¿ØÖÆLEDµÆµÄ¿ªºÍ±Õ¡£8255µÄ¶Ë¿ÚµØÖ·Îª40, 42, 44ºÍ46H¡£ÊÔ±àд³õʼ»¯³ÌÐò¡£ ³õʼ»¯³ÌÐòÈçÏ£º MOV AL, B OUT 46H, AL 3¡¢
1£©ÉèÖò¨ÌØÂʵĿØÖÆ×Ö¸ñʽ£¨DLAB=1£©£º1 0 0 0 0 0 0 0 B
Éè²¨ÌØÂÊΪ1200²¨ÌØ£¬Ôò
³ýÊý=1843200¡Â£¨1200¡Á16£© =96 =0060H ³õʼ»¯³ÌÐò£º MOV AL£¬B MOV DX£¬3FBH OUT DX£¬AL MOV AL£¬60H
MOV DX£¬3F8H OUT DX£¬AL MOV AL£¬00H MOV DX£¬3F9H OUT DX£¬AL
2£©É裺Êý¾Ýλ7λ£¬Í£Ö¹Î»1룬²ÉÓÃżУÑ飻 Êý¾Ý¸ñʽ¿ØÖÆ×ÖΪ£º 0 0 0 1 1 0 1 0 ³ÌÐò £º
MOV AL£¬00011010B MOV DX£¬3FBH OUT DX£¬AL 3£©²éѯͨÐÅ
WAIT£ºMOV DX£¬3FDH £»¶ÁͨÐÅÏß·״̬¼Ä´æÆ÷ IN AL£¬DX
TEST AL£¬1EH £»²âÊÔD1¡«D4λÓÐÎÞ³ö´í JNZ ERROR £»ÓÐ´í£¬×ª´íÎó´¦Àí TEST AL£¬01H £»²âÊÔD0λÓÐÎÞÊý¾Ý·¢ËÍ JNZ RECE £»ÓÐÊý¾Ý£¬×ª½ÓÊÕÊý¾Ý´¦Àí TEST AL£¬20H £»²âÊÔD5λ·¢ËÍÆ÷±£³Ö¼Ä´æÆ÷¿Õ·ñ
JZ WAIT £»²»¿Õ£¬Ñ»·µÈ´ý ©ª
TRNAS£ºMOV DX 3F8H £»·¢ËÍÊý¾Ý OUT DX£¬AL ©ª
RECE£ºMOV DX£¬3F8H £»½ÓÊÕÊý¾Ý IN AL£¬DX ©ª ¹¤×÷·½Ê½×Ö
4¡¢Ñ¡Ôñ2ºÅ¼ÆÊýÆ÷£¬¹¤×÷ÔÚ·½Ê½2£¬¼ÆÊý³õֵΪ533H£¨2¸ö×Ö½Ú£©£¬²ÉÓöþ½øÖƼÆÊý£¬Æä³ÌÐò¶ÎΪ£º TIMER EQU 40H £»0ºÅ¼ÆÊýÆ÷¶Ë¿ÚµØÖ·
MOV AL£¬B £»2ºÅ¼ÆÊýÆ÷µÄ·½Ê½¿ØÖÆ×Ö OUT TOMER+3£¬AL £»Ð´Èë¿ØÖÆ¼Ä´æÆ÷ MOV AX£¬533H £»¼ÆÊý³õÖµ OUT TIMER+2£¬AL £»ÏÈË͵Í×Ö½Úµ½2ºÅ¼ÆÊýÆ÷
MOV AL£¬AH £»È¡¸ß×Ö½Ú OUT TIMER+2£¬AL £»ºóË͸ß×Ö½Úµ½2ºÅ¼ÆÊýÆ÷
5¡¢8254µÄ¼ÆÊýÆ÷2¹¤×÷ÓÚ·½Ê½2£¬Æä¼ÆÊýʱÖÓCLK2£¬Îª100KHz£¬Êä³öÐźÅOUT2×÷¶¨Ê±ÖжÏÉêÇ룬¶¨Ê±¼ä¸ôΪ8ms£¬ÊÔ¼ÆËãÆä¼ÆÊý³õÖµN . N=8ms¡Á100KHz=800
6¡¢Óиö1sµÄÂö³åÐźÅÔ´ËÍ82534µÄ¼ÆÊýÆ÷1ÀûÓÃÈí¼þ·½Ê½À©´ó¶¨Ê±1Ã룬ÿÃëÖÓ´Ó8255AµÄPA¿Ú¶ÁÈëÒ»×鿪¹ØÊý²¢ËÍPB¿ÚµÄLED¹ÜÏÔʾ£¬Éè8254£¬8255AµÄ¶Ë¿ÚµØÖ··Ö±ðΪ40H¡«43HºÍ60H¡«63H£¬ÇÒÖ»ÓÃ10ÌõµØÖ·Ïߣ¨A0¡«A9£©ÓÃÓÚ¶Ë¿ÚÒëÂë¡£Çë
±àд¶Ô8254¼ÆÊýÆ÷1µÄ³õʼ»¯³ÌÐò¶Î£¨½ö50ms.£© ±àд¶Ô8255AµÄ³õʼ»¯³ÌÐò¶Î¡£ ¢Ù 8253µÄ³õʼ»¯³ÌÐò£º
MOV AL, 01110110B
; ¼ÆÊýÆ÷1·½Ê½3£¬¶þ
½øÖÆ OUT 43H, AL MOV AX, 50000
OUT 41H, AL
MOV AL, AH OUT 41H, AL
¢Ú 8255³õʼ»¯ MOV AL, B OUT 63H, AL
£»A¿Ú·½Ê½0ÊäÈ룬B¿Ú·½Ê½0Êä³ö
¸´Ï°²âÊÔ60Ìâ
µÄÊý¾ÝÏßÓУ¨B£©Î»¡£
2.ÔËËãÆ÷µÄºËÐIJ¿·ÖÊÇ(B ) B.ËãÊõÂß¼µ¥Ôª Ö¸Áî¶ÓÁеij¤¶ÈΪ£¨B £©×Ö½Ú¡£
4.´æ´¢Æ÷12345Hµ¥ÔªÖдæ·ÅÓÐÊý¾Ý5FH£¬ÓüǺţ¨A£©±íʾ¡£ A.£¨12345H£©=5FH
»ú´æ´¢¹ÜÀíÖУ¬Æ«ÒƵØÖ·µÄ×î´óѰַ·¶Î§ÊÇ£¨C £©¡£ 6.¶þ½øÖÆÊýת»»ÎªÑ¹ËõBCDÂëΪ£¨C£©¡£
7.ÔÚ»úÆ÷ÊýµÄ£¨A£©ÖУ¬ÁãµÄ±íʾÐÎʽÊÇΨһµÄ¡£ A.²¹Âë
8.Ôڶζ¨Òåʱ£¬Èç¹û¶¨Î»ÀàÐÍÓû§Î´Ñ¡Ôñ£¬¾Í±íʾÊÇÒþº¬ÀàÐÍ£¬ÆäÒþº¬ÀàÐÍÊÇ( D)¡£
9.¶¨µã8λ×Ö³¤µÄ×Ö£¬²ÉÓÃ2µÄ²¹ÂëÐÎʽʱ£¬Ò»¸ö×ÖËùÄܱíʾµÄÕûÊý·¶Î§Îª£¨A£©¡£ A.£128¡«£«127
10.¹¹³É΢»úµÄÖ÷ÒªµÄ²¿¼þÓÐCPU¡¢ÏµÍ³×ÜÏß¡¢I/O½Ó¿ÚºÍ£¨D£©¡£D.ÄÚ´æ
ÔÚ½øÐÐÎÞ·ûºÅÊý±È½Ïʱ£¬Ó¦¸ù¾Ý£¨C£©±ê־λÀ´ÅжϱȽϽá¹û¡££¬ZF
12.»ã±àÓïÑÔÔ´³ÌÐòÖУ¬Ã¿¸öÓï¾äÓÉËÄÏî×é³É£¬ÆäÖв»¿ÉÊ¡ÂÔµÄÏîÊÇ£¨B£©¡£B.²Ù×÷ÂëÏî
13.ÔÚ·ÖÖ§³ÌÐò½øÐÐÌõ¼þÅжÏǰ£¬¿ÉÓÃÖ¸Áî¹¹³ÉÌõ¼þ£¬ÆäÖв»ÄÜÐγÉÌõ¼þµÄÖ¸ÁîÊÇ£¨D£©¡£
14.ÔÚ»ã±à¹ý³ÌÖв»²úÉúÖ¸ÁîÂ룬ֻÓÃÀ´Ö¸Ê¾»ã±à³ÌÐòÈçºÎ»ã±àµÄÖ¸ÁîÊÇ£¨C£©¡£C.αָÁî
15.ÏÂÁмĴæÆ÷×éÖÐÔÚ¶ÎÄÚѰַʱ¿ÉÒÔÌá¹©Æ«ÒÆµØÖ·µÄ¼Ä´æÆ÷×éÊÇ£¨B£©¡££¬BP£¬SI£¬DI 16.¶ÑÕ»²Ù×÷µÄÌØµãÊÇ£¨B£©¡£B.ºó½øÏȳö
17.Ö¸ÁîMOV AX£¬[1000H]ÖÐÔ´²Ù×÷ÊýµÄѰַ·½Ê½ÊÇ£¨B£©¡£
B.Ö±½ÓѰַ
µÄµØÖ·×ÜÏßΪ£¨B£©Î»¡£
19.ͨ³££¬Ò»¸ö×ÜÏßÖÜÆÚ¶Áȡһ¸ö£¨B£©µÄÖ¸Áî´úÂë¡£B.×Ö
ÊÇÓÉ£¨C£©Ð޸ģ¬Ê¹Ëü×ÜÊÇÖ¸ÏòÏÂÒ»Ìõ´ýÈ¡µÄÖ¸Áî¡£ ¶ÔÖжÏÇëÇóÏàÓ¦ÓÅÏȼ¶×î¸ßµÄÇëÇó£¨C£©¡£C.ÄÚ²¿Ó²¼þÖжÏ
22.ÒÑÖª[x]Ô=ºÍ[Y]Ô=£¬Ôò[X-Y]²¹=£¨D£©¡£ 23.»ã±àÓï¾ä DATA SEGMENT STACK DW 100 DUP(0) DATA ENDSµÄº¬ÒåÊÇ£¨C£©¡£ C.¶¨Òå200¸ö×ֽڵĶÑÕ»¶Î
24.Èô³ÌÐò½«Ä³16λ´ø·ûºÅÊýÖ±½Ó¼Óµ½8086CPUµÄIPÉÏ£¬»á£¨A£©¡£
A.ÊdzÌÐò·¢Éú×ªÒÆ£¬Æä·¶Î§Îª32K
25.Òç³öÊÇÁ½´ø·ûºÅÊý£¨B£©£¬½á¹û³¬³ö¹æ¶¨µÄÊýÖµ·¶Î§¡£B.Á½Í¬ºÅÊýÏà¼Ó
XT»ú¶ÔI/O¶Ë¿ÚµÄ×î´óѰַ·¶Î§Îª£¨B£©¡£
27.ÒÑÖªAL=6AH,BL=78H,Ö´ÐÐÖ¸ÁîADD AL,BLºó£¬CF¡¢OFºÍAFµÄֵΪ£¨D£©¡£,1,1
28.ÒÑÖªX=-0110110B,Y=-0111010B,½«Á½ÊýÒÔ²¹ÂëÐÎʽËÍÈëALºÍBL£¬Ö´ÐÐÖ¸ÁîSUB AL,BLºó£¬CF¡¢ZF¡¢SFºÍOF·Ö±ðΪ£¨D£©¡£,0,0,0
29£®Èô8259²ÉÓÃȫǶÌ×·½Ê½¹¤×÷£¬ÏÖÓÐIR4ÕýÔÚ±»·þÎñ£¬ÓÖÓÐIR2,IR3,IR4,IR6ÖжÏÔ´·¢Éú£¬ÈôÔÊÐíǶÌ×£¬ÔòCPUתȥ·þÎñ£¨C£©¡£
30.Èç¹ûÒ»¸ö¶ÑÕ»´Ó20000H¿ªÊ¼£¬ËüµÄ³¤¶ÈΪ0200H,ÔòÖ´ÐÐÖ¸Áî PUSH AX
Ïà¹ØÍÆ¼ö£º