ÊÇ·ñ³äÓеçºÉÀ´´æ´¢ÐÅÏ¢µÄ¡£¡¾´¥·¢Æ÷£¬µçÈÝ¡¿
26¡¢Èô¶Ô6116оƬ½øÐжÁ²Ù×÷£¬Ôò¸ÃоƬµÄCE= £¬WE= £¬OE= ¡£¡¾0£¬1£¬0¡¿
27¡¢8086/8088CPU¿É·ÃÎÊÁ½¸ö¶ÀÁ¢µÄµØÖ·¿Õ¼ä£¬Ò»¸öΪI/OµØÖ·¿Õ¼ä£¬Æä´óСΪ________×Ö½Ú£»ÁíÒ»¸öΪ________£¬Æä´óСΪ____________×Ö½Ú¡£¡¾64K£¬´æ´¢Æ÷µØÖ·¿Õ¼ä£¬1M¡¿
28¡¢´®²Ù×÷LODSÖ¸ÁÊÇÓÃÀ´½«Ô´´®ÓÉ ¼Ä´æÆ÷ËùÖ¸ÏòµÄÔªËØ¸´ÖƵ½AX»òÕßALÖУ¬²¢ÐÞ¸ÄÆäÄÚÈÝÖ¸ÏòÏÂÒ»ÔªËØ¡£Ô´´®µÄѰַ²ÉÓà ¶Î¼Ä´æÆ÷¡£¡¾SI£¬DS¡¿
29¡¢Ö¸ÁîLOOPE/LOOPZµÄ¹¦ÄÜÊÇÏȽ«CX¼õ1£¬Èô ÇÒ ·¢ÉúÑ»·£¬¶øÖ¸ÁîLOOPNE/LOOPNZÔòÊÇCX¼õ1ºóÈô ÇÒ Ê±Ñ»·¡¾ZF=1£¬CX¡Ù0£¬ZF=0£¬CX¡Ù0¡¿
30¡¢Ëæ»úÖжÏÔ´¿É·ÖΪÍⲿÉ豸¡¢ ºÍ ÈýÖÖ¡£¡¾ÊµÊ±Ê±ÖÓ£¬¹ÊÕÏÔ´¡¿
31¡¢8086ÖжÏϵͳÖУ¬ÓÅÏÈȨ×îµÍµÄÄÚ²¿ÖжÏÊÇ £»ÓÅÏÈȨ×î¸ßµÄÍⲿÖжÏÊÇ ¡£¡¾µ¥²½Öжϣ¬NMIÖжϡ¿ 32¡¢INT 21HÖжϣ¬ÆäÖжϷþÎñ×Ó³ÌÐòµÄÈë¿ÚµØÖ·ÔÚÖжÏÏòÁ¿±íÖеÄÎïÀíµØÖ··¶Î§Îª ¡« ¡£¡¾00084H£¬00087H¡¿ 33¡¢¾²Ì¬RAM²»ÐèҪˢе緣¬ ÐèҪˢе緡£¡¾¶¯Ì¬RAM¡¿
34¡¢ÍâÉèÓëCPU½»»»Êý¾ÝµÄ·½Ê½Îª ¡¢ ¡¢ £¬ÆäÖÐ ËÙ¶È×î¿ì¡£¡¾³ÌÐò´«ËÍ£¬Öжϴ«ËÍ£¬DMA´«ËÍ£¬DMA´«ËÍ¡¿
35¡¢´æ´¢Æ÷ÓÉ ¡¢ ¡¢ Èý²¿·Ö×é³É¡£¡¾´æ´¢Ì壬µØÖ·Ñ¡Ôñµç·£¬¶Áдµç·Óë¿ØÖÆµç·¡¿ 36¡¢8086 CPUÀûÓà ºÍ Á½¸öÒý½ÅµÄ×éºÏ¿ÉÒÔʵÏÖ¶Ô´æ´¢Æ÷¸ß¡¢µÍλ¿âµÄÑ¡Ôñ¡£¡¾BHE£¬A0¡¿ 37¡¢Èô8086CPUÏòÎïÀíµØÖ·Îª00052Hµ¥ÔªÐ´ÈëÒ»¸ö×Ö½Ú£¬ÔòдÈë¹ý³ÌÖУ¬BHE= £¬A0= ¡£¡¾1£¬0¡¿
38¡¢µ±ÓÃ×Ö³¤½Ï¶Ì¡¢ÈÝÁ¿½ÏСµÄ´æ´¢Æ÷оƬ×éÖ¯Ò»¶¨×Ö³¤µÄ¡¢´æ´¢ÈÝÁ¿½Ï´óµÄ´æ´¢Æ÷ʱÐèÒª½øÐÐÁ½ÖÖÐÎʽµÄÀ©³ä£º ºÍ ¡£¡¾Î»ÊýÀ©³ä£¬µØÖ·À©³ä¡¿
39¡¢ÔÚ8086/8088Ö¸ÁîϵͳÖУ¬ÓÃÀ´¿ªÖжϵÄÖ¸ÁîΪ £¬ÓÃÀ´¹ØÖжϵÄÖ¸ÁîΪ ¡£¡¾STI£¬CLI¡¿
40¡¢ Êǹý³Ì¶¨Òå½áÊøÎ±Ö¸ÁÆäÇ°ÃæÐèÒª¼Ó ÅäÌ×ʹÓᣠÊǶζ¨Òå½áÊøÎ±Ö¸ÁÆäÇ°ÃæÐèÒª¼Ó ÅäÌ×ʹÓá¾ENDP¡¢¹ý³ÌÃû¡¢ENDS¡¢¶ÎÃû³Æ¡¿
Èý¡¢ÅжÏÌâ
1¡¢8086/8088·Öʱ¸´ÓÃ×ÜÏßAD15-AD0´«Ë͵ØÖ·Ê±Êǵ¥ÏòµÄÈý̬Êä³ö£¨¡Ì£©P48 2¡¢8086/8088·Öʱ¸´ÓÃ×ÜÏßAD15-AD0´«ËÍÊý¾ÝʱÊÇË«ÏòµÄÈý̬ÊäÈë/Êä³ö£¨¡Ì£© 3¡¢8086/8088΢´¦ÀíÆ÷ÒªÇó¸´Î»£¨RESET£©Âö³å¿í¶ÈÓÐЧά³Öʱ¼äÖÁÉÙÊÇ6T£¨¡Á£©P50 4¡¢8086µÄÄÚ´æ¿Õ¼äºÍI/O¿Õ¼äÊǵ¥¶À±àÖ·µÄ£¬¶¼ÊÇ1MB£¨¡Á£© 5¡¢8086/8088΢´¦ÀíÆ÷CLKÒý½ÅÊäÈëʱÖÓÐźÅÊÇÓÉ8286ÌṩµÄ£¨¡Á£© 6¡¢8086/8088±êÖ¾¼Ä´æÆ÷¹²ÓÐ16λ£¬Ã¿Ò»Î»¶¼Óк¬Ò壨¡Á£© 7¡¢8086/8088Âß¼¶Î²»ÔÊÐí¶ÎµÄÖØµþºÍ½»²æ£¨¡Á£© 8¡¢Á¢¼´Ñ°Ö··½Ê½²»ÄÜÓÃÓÚÄ¿µÄ²Ù×÷Êý×ֶΣ¨¡Ì£© 9¡¢²»Äܸø¶Î¼Ä´æÆ÷½øÐÐÁ¢¼´Êý·½Ê½¸³Öµ£¨¡Ì£© 10¡¢SPµÄÄÚÈÝ¿ÉÒÔ²»Ö¸Ïò¶ÑÕ»µÄÕ»¶¥£¨¡Á£© 11¡¢CFλ¿ÉÒÔÓÃÀ´±íʾÓзûºÅÊýµÄÒç³ö£¨¡Á£©
12¡¢Ö´ÐÐSBB AX£¬AXÖ¸Áîºó£¬AXµÄÄÚÈÝÒ»¶¨ÎªÁ㣨¡Á£© 13¡¢Ìõ¼þ×ªÒÆÖ¸ÁîÖ»ÄÜʹÓÃÓÚ¶ÎÄÚÖ±½Ó¶Ì×ªÒÆ£¨¡Ì£© 14¡¢ÅжÏÏÂÁÐÖ¸ÁîÊÇ·ñÕýÈ·
£¨1£©SHL AX, 3 £¨2£©PUSH BL £¨3£©POP CS £¨4£©DIV 10
£¨¡Á£© £¨¡Á£© £¨¡Á£© £¨¡Á£©
£¨¡Á£© £¨¡Ì£© £¨¡Ì£©
5
£¨5£©MUL AX, BX £¨¡Á£© £¨6£©MOV AX,[SI+DI] £¨7£©LEA DI, [BX][SI]
£¨8£©MOV DI, OFFSET[BX+DI]
£¨9£©MOV WORD PTR[1000H], 1000H £¨10£©OUT CX, AL
£¨¡Ì£© £¨¡Á£©
15¡¢EEPROMоƬдÈëµÄÄÚÈÝ£¬¿ÉÒÔͨ¹ý×ÏÍâÏß²Á³ý£¨¡Á£© 16¡¢ÑÚĤROMÖ»¶Á´æ´¢Æ÷µÄÄÚÈÝÊDz»¿ÉÒÔ¸ÄдµÄ£¨¡Ì£© 17¡¢SRAMÓëDRAMÏà±È£¬Ç°ÕßµÄÍâΧµç·¸ü¸´ÔÓ£¨¡Á£© 18¡¢µ¥¹Ü¶¯Ì¬´æ´¢µç·µÄ¶Á³ö²Ù×÷ÊÇÆÆ»µÐÔ¶Á³ö£¨¡Ì£© 19¡¢FLASH Memory£¨ÉÁ´æ£©²»ÊôÓÚÖ»¶Á´æ´¢Æ÷£¨¡Á£© 20¡¢ÄÚ²¿ÖжϵÄÓÅÏÈȨ×ÜÊǸßÓÚÍⲿÖжϣ¨¡Á£©
21¡¢8086ÔÚÏìÓ¦ÖжÏʱ£¬½«CS¡¢IPºÍ±êÖ¾¼Ä´æÆ÷µÄÄÚÈÝ˳ÐòÈëÕ»£¨¡Á£© 22¡¢µ±8086´¦ÔÚµ¥²½¹¤×÷·½Ê½Ê±£¬±ØÐëΪ1µÄ±ê־λÊÇOF£¨¡Á£© 23¡¢ËùÓÐÖжϷþÎñ×Ó³ÌÐòµÄ×îºóÒ»Ìõ¿ÉÖ´ÐÐÓï¾ä±ØÐëÊÇRETÖ¸Á¡Á£©
24¡¢ÖжÏÏìÓ¦ºó±£»¤¶ÏµãµÄÄ¿µÄÊÇΪÁËÄÜ´ÓÖжϷþÎñ×Ó³ÌÐò·µ»Ø±»Öжϵĵط½£¨¡Ì£©
ËÄ¡¢³ÌÐò·ÖÎöÌâ
1¡¢ÔĶÁÏÂÁгÌÐò¶Î£¬Éè³õÖµAX=0119H£¬Ö¸³öÿÌõÖ¸ÁîÖ´ÐÐÒÔºóÓйؼĴæÆ÷µÄÄÚÈÝ¡£
MOV CH, AH ;CH=01H ADD AL, AH DAA
;AL=1AH ;AL=20H
;AL=01H, CH=20H ;AL=35H ;AL=35H ;AH=35H ;AL=20H
XCHG AL, CH ADC AL, 34H DAA
MOV AH, AL MOV AL, CH HLT
2. ÔĶÁÏÂÁгÌÐò¶Î£¬Ö¸³öÿÌõÖ¸ÁîÖ´ÐÐÒÔºóÓйؼĴæÆ÷µÄÄÚÈÝ¡£
MOV AX,0ABCH DEC AX MOV CL,4 SAL AL,1 MOV CL,AL PUSH AX POP BX 3¡¢ CLC
MOV CX, 0FFFFH ADD CX, 1
AND AX,00FFH
;AX=0ABCH ;AX=0ABBH ;AX=00BBH ;CL=4 ;AL=76H ;CL=76H ;CL=EEH ;AX=0076H ;BX=0076H
ADD CL ,78H
Ö´ÐÐÉÏÃæ³ÌÐò¶Îºó£¬£¨CX£©= £¨ZF£©= £¨CF£©= ¡¾0£¬ 1£¬ 1¡¿ 4¡¢ MOV AL, 64H
MOV BL, -1 CMP AL, BL ADD AL, AL
Ö´Ðб¾³ÌÐòºó£¬£¨AL£©= £¨BL£©= £¨CF£©= ¡¾C8H£¬FFH£¬0¡¿ 5¡¢ MOV AL, 25H
MOV DATA, 57H
6
AND AL, DATA ADD AL, AL DAA
Ö´Ðб¾³ÌÐòºó£¬£¨AL£©= £¨ZF£©= £¨CF£©= ¡¾10H£¬0£¬1¡¿ 6¡¢¼ÙÉè´ÓµØÖ·0600H¿ªÊ¼µÄ´æ´¢Çø£¬´æ´¢×Å31H,32H,33H,34H¡£ÏÖÓÐÈçϳÌÐò¶Î£º
MOV SI£¬0600H £¨1£© MOV DI£¬0700H MOV DX£¬0002H
CYCLE£º MOV AL£¬[SI] £¨2£©
AND AL£¬0FH INC SI ADD AL£¬[SI]
MOV [DI]£¬AL £¨3£© INC SI INC DI DEC DX JNZ CYCLE HLT
Ôò£¨1£©Çëд³ö³ÌÐò¶ÎÖУ¨1£©£¨2£©£¨3£©»®ÏßËùʾµÄÖ¸ÁîÖÐÔ´²Ù×÷ÊýµÄѰַ·½Ê½¡£
£¨2£©³ÌÐò¶ÎÖ´Ðкó£¬ÎÊSI¡¢DIºÍAL¼Ä´æÆ÷µÄÄÚÈÝ·Ö±ðÊǶàÉÙ£¿´æ´¢Æ÷µ¥Ôª(0700H)=£¿ ¡¾ £¨1£©Á¢¼´ÊýѰַ£¨2£©±äַѰַ£¨3£©¼Ä´æÆ÷Ѱַ¡¿
¡¾ £¨SI£©=0604H £¨DI£©=0702H £¨AL£©=37H £¨0700H£©=33H¡¿
7¡¢ÉèÓÐ100¸ö×Ö½ÚÊý¾Ý£¨ÎÞ·ûºÅÊý£©£¬´æ·ÅÔÚÊý¾Ý¶ÎÖÐEA=2000HµÄ´æ´¢ÇøÄÚ¡£ÒÔϳÌÐòÓ¦ÄÜ´Ó¸ÃÊý¾ÝÇøÖÐÕÒ³ö×î´óµÄÒ»¸öÊý²¢´æÈëͬһÊý¾Ý¶ÎEA=2100HµÄµ¥ÔªÖУ¬ÇëÍê³É¸Ã³ÌÐò£¨ÔÚ»®Ïß´¦ÌîÈëÊʵ±µÄÓï¾ä£©
MAX:
MOV BX, MOV AL, [BX] INC BX
MOV CX, CMP AL, [BX] MOV AL, [BX]
JNZ
2000H 99
£»È¡µÚÒ»¸öÊý £»ÖÃÑ»·´ÎÊý £»µ÷ÕûÖ¸Õë £»±È½ÏÁ½¸öÊý´óС £»Èô´óÓÚµÈÓÚ£¬Ìøµ½CON1 £»ÈôСÓÚ£¬½«´óÊýËÍÈëALÖÐ
£»Ñ»·£¬¼ÌÐøÏÂÒ»¸öÊýµÄ±È½Ï
LOOP1 [2100H]
JAE CON1
LOOP1:
CON1£º DEC CX
MOV , AL
8¡¢ÈôCPUÖи÷¼Ä´æÆ÷¼°RAM²ÎÊýÈçͼËùʾ£¬ÊÔÇó¶ÀÁ¢Ö´ÐÐÿСÌâ¶ÔÓ¦µÄÖ¸Áîºó£¬¼Ä´æÆ÷ÓëÄÚ´æµ¥ÔªµÄÄÚÈÝ¡££¨Ã¿Ð¡ÌâÖ¸ÁîÖ´ÐÐǰ£¬¼Ä´æÆ÷µÄ״̬¶¼´¦ÓÚÈçͼËùʾµÄ״̬£©
CPU¼Ä´æÆ÷CSDSSSESIPDISI3000H2050H50A0H0FFFH0000H000AH0008HFFFFH0004H0000H17C6H8094H1403H1CXBXSPDXAXBPCF2050CH20506H20507HÄÚ´æ06H00H87H15H37HC5H2FH 7
£¨1£©MOV DX, [BX+2] £¨2£©PUSH DX
; DX = 0006H ; BX= 0004H ; ; SP = FFFEH ;
; CX= 0004H ; BX= 0004H ; ; AX= 8094H ; ; AL= 87H ; ; AL= CCH ; ; AL= 32H ; ; SI= 0009H ; ; AH= 84H ; ; IP= 17C6H ;
£¨3£©MOV CX, BX £¨4£©TEST AX, 0001H £¨5£©MOV AL, [SI] £¨6£©ADC AL, [DI]
DAA £¨7£©INC SI
£¨8£©XOR AH, BL £¨9£©JMP DX
9¡¢ÇëÔÚͼÖÐÕýÈ·ÌîдִÐÐÏÂÁÐαָÁîºóÊý¾ÝÇøµÄÄÚÈÝ¡£
DATA1 DB DATA3 DB DATA4 DB
ÁÐÖ¸ÁîÖ´ÐкóAX¼Ä´æÆ÷µÄÄÚÈÝ£¬²¢Ö¸³öÔÚÿÌõÖ¸ÁîÖÐÔ´²Ù×÷ÊýµÄѰַ·½Ê½¡£ £¨1£©MOV AX, 1200H £¨2£©MOV AX, [1200H] £¨4£©MOV AX, [BX][SI] £¨1£©MOV BX£¬1000H £¨3£©MOV BX£¬[1000H] £¨4£©ADD SI£¬AX VAR1 VAR2 VAR3 VAR4
DB 10,2 DW 5 DUP (?), 0
DB ¡®HOW ARE YOU?¡¯,¡¯$¡¯ DD -1, 1, 0
; AX=
;Ѱַ·½Ê½ ¡¾1200H£¬Á¢¼´Ñ°Ö·¡¿
; AX= ;Ѱַ·½Ê½ ¡¾4C2A H£¬Ö±½ÓѰַ¡¿ ; AX= ;Ѱַ·½Ê½ ¡¾4C2A H£¬»ùַѰַ¡¿ ; AX= ;Ѱַ·½Ê½ ¡¾3412 H£¬»ùÖ·±äַѰַ¡¿
¡¾Á¢¼´Ñ°Ö·¡¿ ¡¾»ùÖ·±äַѰַ¡¿ ¡¾Ö±½ÓѰַ¡¿ ¡¾¼Ä´æÆ÷Ѱַ¡¿
01H£¬02H ¡®1¡¯£¬¡®2¡¯ 3 DUP(2,1)
DATA1 DATA2 DATA3 DATA4
01H 02H 01H 00H 02H 00H 31H 32H 02H 01H 02H 01H 02H 01H DATA2 DW 01H£¬02H
10¡¢ÏÖÓÐ(DS)=2000H£¬(BX)=0100H£¬(SI)=0002H£¬(20102H)=12H£¬(20103H)=34H£¬(21200H)=2AH£¬(21201H)=4CH£¬ÌîÈëÏÂ
£¨3£©MOV AX, [BX+1100H]
11¡¢Ö¸³öÏÂÁÐÖ¸ÁîÔ´²Ù×÷ÊýµÄѰַ·½Ê½ £¨2£©MOV AX£¬20H [BX][DI]
13¡¢ÏÂÁÐÓï¾äÔÚ´æ´¢Æ÷ÖзֱðΪ±äÁ¿·ÖÅä¶àÉÙ×ֽڿռ䣿
VAR1·ÖÅäµÄ×Ö½Ú¿Õ¼äΪ ×Ö½Ú£»VAR2·ÖÅäµÄ¿Õ¼äΪ ×Ö½Ú£»VAR3·ÖÅäµÄ¿Õ¼äΪ ×Ö½Ú£¬VAR4·ÖÅäµÄ¿Õ¼äΪ ×Ö½Ú¡£¡¾1,12,13,12¡¿
14¡¢ÇëÔÚͼÖÐÕýÈ·ÌîдִÐÐÕâЩαָÁîºóÊý¾ÝÇøµÄÄÚÈÝ
8