΢»úÔ­Àí»Æ±ù°æ--×÷Òµ´ð°¸ ÏÂÔØ±¾ÎÄ

1Õ Ð÷ÂÛ

1.2 ÓÃ8λ¶þ½øÖÆÂ룬д³öÏÂÁÐÊ®½øÖÆÊýµÄÔ­ÂëºÍ²¹Âë±íʾ ½âÊÍ£º

Ô­Â룺×î¸ßλΪ·ûºÅ룬ÕýÊý·ûºÅλΪ0£¬¸ºÊý·ûºÅλΪ1¡£

²¹Â룺ÕýÊýµÄ²¹ÂëÓëÔ­ÂëÏàͬ£»¸ºÊýµÄ²¹Â룺ÓÉÆäÔ­Âë³ý·ûºÅλ±£³Ö²»±äÍ⣬ÆäÓà¸÷λ°´Î»È¡·´£¬Ä©Î»¼Ó1¶ø³É¡£ ½â£º

(1) [+65]Ô­ = 0100 0001B ×¢£º65 = 64 + 1

[+65]²¹ = [+65]Ô­ = 0100 0001B ×¢£ºÕýÊý²¹ÂëÓëÔ­ÂëÏàͬ

(2) [+115]Ô­ = 0111 0011B ×¢£º115 = 64 + 32 + 16 + 2 + 1 [+115]²¹ = [+115]Ô­ = 0111 0011B ×¢£ºÕýÊý²¹ÂëÓëÔ­ÂëÏàͬ (3) [-65]Ô­ = 1100 0001B ×¢£º65 = 64 + 1

[-65]²¹ = 1011 1110B + 1B = 1011 1111B ×¢£º³ý·ûºÅλÍ⣬°´Î»È¡·´£¬Ä©Î»¼Ó1 (4) [-115]Ô­ = 1111 0011B ×¢£º115 = 64 + 32 + 16 + 2 + 1 [-115]²¹ = 1000 1100B + 1B = 1000 1101B ×¢£º³ý·ûºÅλÍ⣬°´Î»È¡·´£¬Ä©Î»¼Ó1 1.3 ÓÃ16λ¶þ½øÖÆÂ룬д³öÏÂÁÐÊ®½øÖÆÊýµÄÔ­ÂëºÍ²¹Âë±íʾ¡£

(1) [+120]Ô­ = 0000 0000 0111 1000B ×¢£º120 = 64 + 32 + 16 + 8 [+120]²¹ = [+120]Ô­ = 0000 0000 0111 1000B ×¢£ºÕýÊý²¹ÂëÓëÔ­ÂëÏàͬ

(2) [-120]Ô­ = 1000 0000 0111 1000B ×¢£º120 = 64 + 32 + 16 + 8 [-120]²¹ = 1111 1111 1000 0111B + 1B = 1111 1111 1000 1000B ×¢£º³ý·ûºÅλÍ⣬°´Î»È¡·´£¬Ä©Î»¼Ó1

(3) [+230]Ô­ = 0000 0000 1110 0110B ×¢£º230 = 128 + 64 + 32 + 4 + 2 [+230]²¹ = 0000 0000 1110 0110B ×¢£ºÕýÊý²¹ÂëÓëÔ­ÂëÏàͬ

(4) [-230]Ô­ = 1000 0000 1110 0110B ×¢£º230 = 128 + 64 + 32 + 4 + 2 [-230]²¹ = 1111 1111 0001 1001B + 1B = 1111 1111 0001 1010B ×¢£º³ý·ûºÅλÍ⣬°´Î»È¡·´£¬Ä©Î»¼Ó1

1.4 д³öÏÂÁÐÓò¹Âë±íʾµÄ¶þ½øÖÆÊýµÄÕæÖµ¡£ ½âÊÍ£º

ÕýÊýµÄ²¹Âë = Ô­Âë

¸ºÊýµÄ²¹Â룺ÔÙ´ÎÇó²¹ÂëµÃµ½ÆäÔ­Âë ½â£º

(1) 0011 0111 ÕýÊýµÄ²¹Âë ÕæÖµ£º32 + 16 + 4 + 2 + 1 = +55 (2) 0101 1001 ÕýÊýµÄ²¹Âë ÕæÖµ£º64 + 16 + 8 + 1 = +89

(3) 1000 1101 ¸ºÊýµÄ²¹Âë ÕæÖµ£º1111 0010B + 1B = 1111 0011B = -115 (4) 1111 1001 ¸ºÊýµÄ²¹Âë ÕæÖµ£º1000 0110B + 1B = 1000 0111B = -7

µÚ2Õ Intel 8086΢´¦ÀíÆ÷

2.2 ÔÚ´æ´¢Æ÷Öдæ·ÅµÄÊý¾ÝÈçͼËùʾ¡£ÊÔ¶Á³ö75422HºÍ75424H×Ö½Úµ¥ÔªµÄÄÚÈÝÊÇʲô£¿¶Á³ö75422HºÍ75424H×Öµ¥ÔªµÄÄÚÈÝÊÇʲô£¿ ½â£º ´æ´¢Æ÷ 75422H×Ö½Úµ¥ÔªµÄÄÚÈÝ£º9CH ? 75424H×Ö½Úµ¥ÔªµÄÄÚÈÝ£º5DH 7542 0H 13H 75422H×Öµ¥ÔªµÄÄÚÈÝ£º249CH 1H 78H 75424H×Öµ¥ÔªµÄÄÚÈÝ£º0E65DH 2H 9CH 3H 24H 4H 5DH 5H E6H

2.3 ¶ÎµØÖ·ºÍÆ«ÒÆµØÖ·Îª1000H£º117AHµÄ´æ´¢µ¥ÔªµÄÎïÀíµØÖ·ÊÇʲô£¿¶ø1109H£º00EAH»ò1025H£º0F2AHµÄ´æ´¢µ¥ÔªµÄÎïÀíµØÖ·ÓÖÊÇʲô£¿Õâ˵Ã÷ÁËʲôÎÊÌ⣿ ½âÊÍ£ºÎïÀíµØÖ· = ¶ÎµØÖ· ¡Á 10H + Æ«ÒÆµØÖ· ½â£º

1000H : 117AH´æ´¢µ¥ÔªµÄÎïÀíµØÖ·1000H ¡Á 10H + 117AH = 1117AH 1109H : 00EAH´æ´¢µ¥ÔªµÄÎïÀíµØÖ·1109H ¡Á 10H + 00EAH = 1117AH 1025H : 0F2AH´æ´¢µ¥ÔªµÄÎïÀíµØÖ·1025H ¡Á 10H + 0F2AH = 1117AH

˵Ã÷£º²»Í¬µÄ¶ÎµØÖ·²»Í¬µÄÆ«ÒÆµØÖ·¿ÉÒÔÖ¸Ïòͬһ¸öÎïÀíµØÖ·£¬¼´¸÷¸öÂß¼­¶Î¿ÉÒÔÏà»¥ÖØµþ¡£

2.4 ÔÚ´æ´¢Æ÷·Ö¶Î½á¹¹ÖУ¬Ã¿¸ö¶ÎÇø×î´ó¿ÉÕ¼ÓöàÉÙµØÖ··¶Î§£¬ÎªÊ²Ã´£¿Èç¹ûÔÚ8086µÄ»úÆ÷ÖУ¬Èô¶Î¼ä²»ÔÊÐíÖØµþ£¬ÄÇô×î¶à¿É·Ö¶àÉÙ¸ö¶ÎÇø£¿ ½â£º

ÈôΪ8086΢´¦ÀíÆ÷£¬Ã¿¸ö¶ÎÇø×î´ó¿ÉÕ¼ÓÃ64KB£¬ÒòΪËùÓÐÄÚ²¿¼Ä´æÆ÷¶¼Ö»ÓÐ16λ¡£

Èôÿ¶Î64KB£¬×î¶à¿É·Ö16¸ö¶ÎÇø£¬ÒòΪ8086΢´¦ÀíÆ÷ÓÐ20ÌõµØÖ·Ïߣ¬¿É·ÃÎÊ´æ´¢Æ÷µÄ×î´óÈÝÁ¿Îª1MB¡£ 2.5 Èç¹û´Ó´æ´¢Æ÷µÄ2000HµØÖ·¿ªÊ¼·ÖÅä¶ÎÇø£¬ÒªÇóÊý¾Ý¶ÎÕ¼ÓÃ1KB·¶Î§£¬¶ÑÕ»¶ÎÕ¼ÓÃ512B·¶Î§£¬´úÂë¶ÎÕ¼ÓÃ8KB·¶Î§¡£°´Êý¾Ý¶Î¡¢¶ÑÕ»¶ÎºÍ´úÂë¶ÎµÄ˳ÐòÁ¬Ðø´æ·Å£¬ÊÔ»­³ö´æ´¢Æ÷·Ö¶ÎµØÖ··ÖÅäʾÒâͼ£¬Í¼ÖÐӦдÃ÷¸÷¶Î¼Ä´æÆ÷µÄÄÚÈÝ£¿ ½â£º

02000H 02400H 02600H

1KB 512B 8KB DS:0200 SS:0240H CS:0260H

×¢£º

1KB£º00 0000 0000B~11 1111 1111B

SS£ºÆðʼÎïÀíµØÖ·2000H + 1KB = 2000H + 400H = 02400H 512B£º0 0000 0000B¡«1 1111 1111B

CS£ºÆðʼÎïÀíµØÖ·2400H + 512B = 2400H + 200H = 02600H 2.6 Ö¸³öÏÂÁÐÖ¸ÁîµÄÔ´ºÍÄ¿±ê²Ù×÷ÊýµÄѰַ·½Ê½£º ÌâºÅ (1) (2) (3) (4) (5) (6) Ö¸Áî MOV ARRAY,BX ADC CX,ALPHA[BX][SI] INC BL Ä¿µÄ²Ù×÷ÊýµÄѰַ·½Ê½ Ö±½ÓѰַ ¼Ä´æÆ÷Ѱַ ¼Ä´æÆ÷Ѱַ ¼Ä´æÆ÷¼ä½ÓѰַ ¼Ä´æÆ÷Ѱַ Ô´²Ù×÷ÊýµÄѰַ·½Ê½ ¼Ä´æÆ÷Ѱַ ´øÎ»ÒƵĻùÖ·±äַѰַ Á¢¼´Ñ°Ö· ¼Ä´æÆ÷Ѱַ ¼Ä´æÆ÷¼ä½ÓѰַ AND GAMMA[DI],11011000B ´øÎ»ÒƵıäַѰַ TEST ES:[SI],DX SBB SI,[BP] 2.7 ÏÖÓÐDS=2000H£¬BX=0100H£¬SI=0002H£¬£¨20100H£©=12H£¬£¨20101H£©=34H£¬£¨20102H£©=56H£¬£¨20103H£©=78H£¬£¨21200H£©=2AH£¬£¨21201H£©=4CH£¬£¨21202H£©=B7H£¬£¨21203H£©=65H£¬ÊÔ˵Ã÷ÏÂÁи÷Ö¸ÁîÖ´ÐÐÍêºóAX¼Ä´æÆ÷µÄÄÚÈÝ¡£ ÌâºÅ (1) (2) (3) (4) (5) (6) (7) Ö¸Áî MOV AX,1200H MOV AX,BX MOV AX,[1200H] MOV AX,[BX] MOV AX,1100H[BX] MOV AX,[BX][SI] AX¼Ä´æÆ÷µÄÄÚÈÝ 1200H 0100H 4C2AH 3412H 4C2AH 7856H ¼òµ¥½âÊÍ Á¢¼´Êý¸³¸øAX ¼Ä´æÆ÷BXÖµ¸³¸øAX PA=DS¡Á16+1200H=21200H PA=DS¡Á16+BX=20100H PA=DS¡Á16+BX+1100H=21200H PA=DS¡Á16+BX+SI=20102H PA=DS¡Á16+BX+SI+1100H=21202H MOV AX,1100H[BX][SI] 65B7H 2.8 ¼Ù¶¨DS=2000H£¬ES=2100H£¬SS=1500H£¬SI=00A0H£¬BX=0100H£¬BP=0010H£¬Êý¾Ý¶ÎÖбäÁ¿ÃûVALµÄÆ«ÒÆµØÖ·ÖµÎª0050H£¬ÊÔÖ¸³öÏÂÃæÔ´²Ù×÷Êý×ֶεÄѰַ·½Ê½ÊÇʲô£¿ÆäÎïÀíµØÖ·ÖµÊǶàÉÙ£¿ ÌâºÅ Ö¸Áî Ô´²Ù×÷ÊýµÄѰַ·½Ê½ Ô´²Ù×÷ÊýµÄÎïÀíµØÖ· (1) MOV AX, 00ABH (2) MOV AX,BX (3) MOV AX,[100H] (4) MOV AX,[BX] (5) MOV AX,[BP] (6) MOV AX,[BX+10] (7) MOV AX,[BX][SI] (8) MOV AX,VAL (9) MOV AX,ES:[BX] (10) MOV AX,[SI] (11) MOV AX,VAL[BX] Á¢¼´Ñ°Ö· ¼Ä´æÆ÷Ѱַ Ö±½ÓѰַ ¼Ä´æÆ÷¼ä½ÓѰַ ¼Ä´æÆ÷¼ä½ÓѰַ ´øÎ»ÒƵĻùַѰַ »ùÖ·±äַѰַ Ö±½ÓѰַ ¼Ä´æÆ÷¼ä½ÓѰַ ¼Ä´æÆ÷¼ä½ÓѰַ ´øÎ»ÒƵĻùַѰַ ÔÚ´úÂë¶ÎÖУ¬ÓëCS¡¢IPÓÐ¹Ø ÔڼĴæÆ÷ÖÐ DS¡Á16+100H=20100H DS¡Á16+BX=20100H SS¡Á16+BP =15010H DS¡Á16+BX +10=2010AH DS¡Á16+BX +SI=201A0H DS¡Á16+VAL=20050H ES¡Á16+BX=21100H DS¡Á16+SI=200A0H DS¡Á16+BX+VAL=20150H (12) MOV AX,VAL[BX][SI] ´øÎ»ÒƵĻùÖ·±äַѰַ DS¡Á16+BX+SI+VAL=201F0H 2.9 ÉèAX=1122H£¬BX=3344H£¬CX=5566H£¬SP=2000H£¬ÊÔ·ÖÎöÏÂÁгÌÐò¶ÎÖ´Ðкó£¬AX¡¢BX¡¢CX¡¢SPÖеÄÄÚÈݸ÷Ϊ¶àÉÙ£¿²¢»­³ö¶ÑÕ»±ä»¯Ê¾Òâͼ¡£ ½â£º

µÚ1ÌõÖ¸Áî AX=1122H

PUSH AX

µÚ2ÌõÖ¸Áî PUSH BX

µÚ3ÌõÖ¸Áî PUSH CX

µÚ4ÌõÖ¸Áî POP AX

µÚ5ÌõÖ¸Áî POP CX

SP¡ú

22H AX=5566H BX=3344H CX=3344H

SP¡ú

44H 33H 22H 11H AX=5566H BX=3344H CX=5566H SP=1FFCH

SP¡ú

66H 55H 44H 33H 22H 11H AX=1122H BX=3344H CX=5566H SP=1FFAH

SP¡ú

44H 33H 22H 11H AX=1122H BX=3344H CX=5566H SP=1FFCH

SP¡ú

22H 11H BX=3344H CX=5566H SP=1FFEH

11H SP=1FFEH

2.10 ÏÂÁгÌÐò¶ÎÖÐÿһÌõÖ¸ÁîÖ´ÐÐÍêºó£¬AXÖеÄÊ®Áùλ½øÖÆÄÚÈÝÊÇʲô£¿ Ö¸Áî MOV AX,0 DEC AX ADD AX,7FFFFH AXÖеÄÄÚÈÝ AX=0000H AX=0FFFFH AX=7FFEH Ö¸Áî ADD AX,2 NOT AX SUB AX,0FFFFH ADD AX,8000H OR AX,0BFDFH AND AX,0EBEDH XCHG AH,AL SAL AX,1 RCL AX,1 AX=8000H AX=7FFFH AX=8000H AX=0000H AX=0BFDFH AX=0ABCDH AX=0CDABH AX=9B56H (CF=1,PF=1) AX=36ADH (CF=1,PF=1,OF=1) 1100 1101 1010 1011ËãÊõ×óÒÆ 1001 1011 0101 0110´ø½øÎ»Ñ­»·×óÒÆ Ñ­»·ÒÆÎ»Ö¸Áî²»Ó°Ïì³ýCFºÍOFÒÔÍâµÄÆäËûÌõ¼þ±êÖ¾¡£

ÒÆÎ»Ö¸Áî¸ù¾ÝÒÆÎ»ºóµÄ½á¹ûÉèÖÃSF¡¢ZFºÍPF룬AFλÔòÎÞ¶¨Òå¡£ RCL£ºOF=1×î¸ßÓÐЧλµÄÖµ·¢Éú±ä»¯£»PF±£ÁôÔ­À´µÄÖµ£»

2.11 ½«Ê®Áù½øÖÆÊý62A0HÓëÏÂÁи÷¸öÊýÏà¼Ó£¬ÊÔ¸ø³öºÍÊý¼°±ê־λAF£¬SF£¬ZF£¬CF£¬OFºÍPFµÄ״̬¡£ (1) 9D60H

0110001010100000?100111010110000010000000000000000

ºÍÊý£º0H

AF=0,SF=0,ZF=1,CF=1,OF=0,PF=1 (2) 4321H

0110001010100000?010000110010000101010010111000001

ºÍÊý£º0A5C1H

AF=0,SF=1,ZF=0,CF=0,OF=1,PF=0

2.12 ´ÓÏÂÁи÷¸öÊýÖмõÈ¥4AE0H£¬ÊÔ¸ø³ö²îÖµ¼°±ê־λAF£¬SF£¬ZF£¬CF£¬OFºÍPFµÄ״̬¡£ £¨1£©1234H £¨2£©9090H ½â£º

0001001000110100[1234H]?0100101011100000[4AE0H]11100011101010100[0C754H]

AF£½0£¬SF£½1£¬ZF£½0£¬CF£½1£¬OF£½0£¬PF£½0

1001000010010000[9090H]?0100101011100000[4AE0H]00100010110110000[45B0H]

AF£½0£¬SF£½0£¬ZF£½0£¬CF£½0£¬OF£½1£¬PF£½0

2.13 ¼ÙÉèBX£½00E3H£¬×Ö±äÁ¿VALUEÖдæ·ÅµÄÄÚÈÝΪ79H£¬È·¶¨ÏÂÁи÷ÌõÖ¸Áîµ¥¶ÀÖ´ÐкóµÄ½á¹û¡£ ÌâºÅ Ö¸Áî (1) XOR BX,VALUE (2) AND BX,VALUE (3) OR BX,VALUE (4) XOR BX,0FFH (5) AND BX,0 (6) TEST BX,01H BX¼Ä´æÆ÷µÄÄÚÈÝ ¼òµ¥½âÊÍ 009AH 0061H 00FBH 001CH 0000H 00E3H 0000 0000 1110 0011 XOR 0000 0000 0111 1001 0000 0000 1110 0011 AND 0000 0000 0111 1001 0000 0000 1110 0011 OR 0000 0000 0111 1001 0000 0000 1110 0011 XOR 0000 0000 1111 1111 TESTÖ¸ÁîÖ»Ó°Ïì±ê־룬²»Ó°Ïì½á¹û (1) XOR OSZAPC:0XXUX0 SF=0; ZF=0; PF=1