IBM-PC»ã±àÓïÑÔ³ÌÐòÉè¼Æ´ð°¸ ÏÂÔØ±¾ÎÄ

49703100.doc - 8 - ×÷ÕߣºUser

(5) AND BX, 0 (6) TEST BX, 01H ´ð£º¼û×¢ÊÍ¡£

£»(BX)=00H£¬CF¡¢OF¶¼Îª0£¬AFÎÞ¶¨Ò壬SF=0£¬ZF=1£¬PF=1 £»(BX)=0E3H£¬CF¡¢OF¶¼Îª0£¬AFÎÞ¶¨Ò壬SF=1£¬ZF=0£¬PF=0

3.24 ÊÔд³öÖ´ÐÐÏÂÁÐÖ¸ÁîÐòÁкóBX¼Ä´æÆ÷µÄÄÚÈÝ¡£Ö´ÐÐǰ(BX)=6D16H¡£

MOV CL, 7 SHR BX, CL ´ð£º(BX)=00DAH¡£

3.25 ÊÔÓÃÒÆÎ»Ö¸Áî°ÑÊ®½øÖÆÊý+53ºÍ-49·Ö±ð³ËÒÔ2¡£ËüÃÇÓ¦¸ÃÓÃʲôָÁµÃµ½µÄ½á¹ûÊÇʲô£¿Èç¹û

Òª³ýÒÔ2ÄØ£¿

´ð£ºMOV AL, 53

SAL AL, 1 £»(AL)=(+53*2)=6AH MOV AL, -49 SAL AL, 1 £»(AL)=(-49*2)=9EH MOV AL, 53 SAR AL, 1 £»(AL)=(53/2)= 1AH MOV AL, -49 SAR AL, 1 £»(AL)=(-49/2)=0E7H 3.26 ÊÔ·ÖÎöÏÂÃæµÄ³ÌÐò¶ÎÍê³Éʲô¹¦ÄÜ£¿ MOV CL, 04 SHL DX, CL MOV BL, AH SHL AX, CL SHR BL, CL OR DL, BL

´ð£º±¾³ÌÐò¶Î½« ((DX),(AX)) µÄË«×Öͬʱ×óÒÆ4룬¼´½«´ËË«×Ö³ËÒÔ10H (16)¡£ 3.27 ¼Ù¶¨(DX)=0B9H£¬(CL)=3£¬(CF)=1£¬È·¶¨ÏÂÁи÷ÌõÖ¸Áîµ¥¶ÀÖ´ÐкóDXÖеÄÖµ¡£

(1) SHR DX, 1 £»(DX)=05CH (2) SAR DX, CL £»(DX)=17H (3) SHL DX, CL £»(DX)=5C8H (4) SHL DL, 1 £»(DX)=72H (5) ROR DX, CL £»(DX)=2017H (6) ROL DL, CL £»(DX)=0CDH (7) SAL DH, 1 £»(DX)=0B9H (8) RCL DX, CL £»(DX)=2CCH (4) RCR DL, 1 £»(DX)=0DCH ´ð£º¼û×¢ÊÍ¡£ 3.28 ÏÂÁгÌÐò¶ÎÖ´ÐÐÍêºó£¬BX¼Ä´æÆ÷µÄÄÚÈÝÊÇʲô£¿

MOV CL, 3 MOV BX, 0B7H ROL BX,1 ROR BX, CL

´ð£º(BX)=0C02DH¡£

3.29 ¼ÙÉèÊý¾Ý¶Î¶¨ÒåÈçÏ£º

CONAME DB ?SPACE EXPLORERS INC.¡® PRLINE DB 20 DUP (?¡®)

Óô®Ö¸Áî±àд³ÌÐò¶Î·Ö±ðÍê³ÉÒÔϹ¦ÄÜ£º

(1) ´Ó×óµ½ÓÒ°ÑCONAMEÖеÄ×Ö·û´®´«Ë͵½PRLINE¡£ (2) ´ÓÓÒµ½×ó°ÑCONAMEÖеÄ×Ö·û´®´«Ë͵½PRLINE¡£ (3) °ÑCONAMEÖеĵÚ3ºÍµÚ4¸ö×Ö½Ú×°ÈëAX¡£

(4) °ÑAX¼Ä´æÆ÷µÄÄÚÈÝ´æÈë´ÓPRLINE+5¿ªÊ¼µÄ×Ö½ÚÖС£

(5) ¼ì²éCONAME×Ö·û´®ÖÐÓÐÎÞ¿Õ¸ñ×Ö·û£¬ÈçÓÐÔò°ÑµÚÒ»¸ö¿Õ¸ñ×Ö·ûµÄµØÖ·´«Ë͸øBX¼Ä´æÆ÷¡£ ´ð£º(1) MOV CX, 20

49703100.doc - 9 - ×÷ÕߣºUser

CLD MOV MOV MOV LEA LEA REP (2) MOV STD MOV MOV MOV LEA ADD LEA ADD REP (3) MOV (4) MOV (5) MOV CLD MOV MOV LEA REPNE JNE DEC MOV NEXT:

SI, SEG CONAME DS, SI ES, SI

SI, CONAME DI, PRLINE MOVSB CX, 20

SI, SEG CONAME DS, SI ES, SI

SI, CONAME SI, 20-1 DI, PRLINE DI, 20-1 MOVSB

AX, WORD PTR CONAME+3-1 WORD PTR PRLINE +5, AX AL, ? ¡® £»¿Õ¸ñµÄASCIIÂëËÍAL¼Ä´æÆ÷ DI, SEG CONAME ES, DI

DI, CONAME SCASB NEXT DI BX, DI ©«

3.30 ±àд³ÌÐò¶Î£¬°Ñ×Ö·û´®STRINGÖеÄ?&¡®×Ö·ûÓÿոñ·û´úÌæ¡£

STRING DB ?The date is FEB&03¡® ´ð£º³ÌÐò¶ÎÈçÏ£º

MOV CX, 18 MOV AL, ?&¡® CLD

MOV DI, SEG STRING MOV ES, DI LEA DI, STRING REPNE SCASB JNE NEXT DEC DI

MOV ES£ºBYTE PTR [DI], ? ¡® £»ËͿոñ·û NEXT: ©«

3.31 ¼ÙÉèÊý¾Ý¶ÎÖÐÊý¾Ý¶¨ÒåÈçÏ£º STUDENT_NAME DB 30 DUP (?) STUDENT_ADDR DB 9 DUP (?) PRINT_LINE DB 132 DUP (?) ·Ö±ð±àдÏÂÁгÌÐò¶Î£º

(1) Óÿոñ·ûÇå³ýPRINT_LINEÓò¡£

(2) ÔÚSTUDENT_ADDRÖвéÕÒµÚÒ»¸ö?-¡®¡£ (3) ÔÚSTUDENT_ADDRÖвéÕÒ×îºóÒ»¸ö?-¡®¡£

(4) Èç¹ûSTUDENT_NAMEÓòÖÐÈ«Êǿոñ·ûʱ£¬ÌîÈë?*¡®¡£

(5) °ÑSTUDENT_NAMEÒÆµ½PRINT_LINEµÄǰ30¸ö×Ö½ÚÖУ¬°ÑSTUDENT_ ADDRÒÆµ½

PRINT_LINEµÄºó9¸ö×Ö½ÚÖС£ ´ð£º¹«¹²µÄ³ÌÐò¶ÎÈçÏ£º

MOV DI, DS MOV ES, DI

49703100.doc - 10 - ×÷ÕߣºUser

(1) MOV CX, 132

MOV AL., ? ¡® £»¿Õ¸ñµÄASCIIÂëËÍAL¼Ä´æÆ÷ CLD LEA DI, PRINT_LINE REP STOSB (2) MOV CX, 9

MOV AL., ?-¡® CLD LEA DI, STUDENT_ ADDR REPNE SCASB JNE NO_DASH DEC DI NO_DASH: ©« (3) MOV CX, 9 MOV AL., ?-¡® STD LEA DI, STUDENT_ ADDR ADD DI, 9-1 REPNE SCASB JNE NO_DASH INC DI NO_DASH: ©« (4) MOV CX, 30 MOV AL, ? ¡® £»¿Õ¸ñµÄASCIIÂëËÍAL¼Ä´æÆ÷ CLD LEA DI, STUDENT_NAME REPE SCASB JNE NEXT MOV CX, 30 MOV AL, ?*¡® £»¨D*¡¬µÄASCIIÂëËÍAL¼Ä´æÆ÷ LEA DI, STUDENT_NAME REP STOSB NEXT: ©« (5) MOV CX, 30 CLD LEA SI, STUDENT_NAME LEA DI, PRINT_LINE REP MOVSB MOV CX, 9 STD LEA SI, STUDENT_ADDR+9-1 LEA DI, PRINT_LINE+132-1 REP MOVSB

3.32 ±àдһ³ÌÐò¶Î£º±È½ÏÁ½¸ö5×Ö½ÚµÄ×Ö·û´®OLDSºÍNEWS£¬Èç¹ûOLDS×Ö·û´®²»Í¬ÓÚNEWS×Ö·û

´®ÔòÖ´ÐÐNEW_LESS£»·ñÔò˳ÐòÖ´ÐгÌÐò¡£ ´ð£º³ÌÐò¶ÎÈçÏ£º

MOV CX, 5 CLD

MOV DI, SEG OLDS MOV DS, DI MOV ES, DI LEA SI, OLDS LEA DI, NEWS REPE CMPSB JNE NEW_LESS

©«

NEW_LESS: ©«

49703100.doc - 11 - ×÷ÕߣºUser

3.33 ¼Ù¶¨AXºÍBXÖеÄÄÚÈÝΪ´ø·ûºÅÊý£¬CXºÍDXÖеÄÄÚÈÝΪÎÞ·ûºÅÊý£¬ÇëÓñȽÏÖ¸ÁîºÍÌõ¼þ×ªÒÆ

Ö¸ÁîʵÏÖÒÔÏÂÅжϣº

(1) ÈôDXµÄÄÚÈݳ¬¹ýCXµÄÄÚÈÝ£¬ÔòתȥִÐÐEXCEED¡£ (2) ÈôBXµÄÄÚÈÝ´óÓÚAXµÄÄÚÈÝ£¬ÔòתȥִÐÐEXCEED¡£ (3) ÈôCXµÄÄÚÈݵÈÓÚ0£¬ÔòתȥִÐÐZERO¡£

(4) BXÓëAXµÄÄÚÈÝÏà±È½ÏÊÇ·ñ²úÉúÒç³ö£¿ÈôÒç³öÔòתOVERFLOW¡£ (5) ÈôBXµÄÄÚÈÝСÓÚµÈÓÚAXµÄÄÚÈÝ£¬ÔòתEQ_SMA¡£ (6) ÈôDXµÄÄÚÈݵÍÓÚµÈÓÚCXµÄÄÚÈÝ£¬ÔòתEQ_SMA¡£ ´ð£º(1) CMP DX, CX

JA EXCEED (2) CMP BX, AX

JG EXCEED (3) JCXZ ZERO (4) CMP BX, AX

JO OVERFLOW (5) CMP BX, AX

JLE EQ_SMA (6) CMP DX, CX

JBE EQ_SMA 3.34 ÊÔ·ÖÎöÏÂÁгÌÐò¶Î£º

ADD AX, BX JNO L1 JNC L2 SUB AX, BX JNC L3 JNO L4 JMP SHORT L5

Èç¹ûAXºÍBXµÄÄÚÈݸø¶¨ÈçÏ£º

AX BX

(1) 147BH 80DCH (2) B568H 42C8H (3) 42C8H 608DH (4) D023H 9FD0H (5) 94B7H B568H

ÎʸóÌÐò·Ö±ðÔÚÉÏÃæ5ÖÖÇé¿öÏÂÖ´Ðк󣬳ÌÐòתÏòÄÄÀ ´ð£º(1) תÏòL1

(2) תÏòL1 (3) תÏòL2 (4) תÏòL5 £»ÒòΪ¼Ó·¨Ö¸ÁîºóAXÖÐÒѾ­ÊÇ6FF3H (5) תÏòL5 £»ÒòΪ¼Ó·¨Ö¸ÁîºóAXÖÐÒѾ­ÊÇ4A14H

3.35 Ö¸ÁîCMP AX, BXºóÃæ¸ú×ÅÒ»Ìõ¸ñʽΪJ? L1µÄÌõ¼þ×ªÒÆÖ¸ÁÆäÖÐ?¿ÉÒÔÊÇB¡¢NB¡¢BE¡¢NBE¡¢L¡¢NL¡¢LE¡¢NLEÖеÄÈÎÒâÒ»¸ö¡£Èç¹ûAXºÍBXµÄÄÚÈݸø¶¨ÈçÏ£º

AX BX (1) 1F52H 1F52H (2) 88C9H 88C9H (3) FF82H 007EH (4) 58BAH 020EH (5) FFC5H FF8BH (6) 09A0H 1E97H (7) 8AEAH FC29H (8) D367H 32A6H

ÎÊÒÔÉÏ8Ìõ×ªÒÆÖ¸ÁîÖеÄÄļ¸Ìõ½«ÒýÆð×ªÒÆµ½L1£¿ ´ð£º(1) JNB¡¢JBE¡¢JNL¡¢JLE

(2) JNB¡¢JBE¡¢JNL¡¢JLE (3) JNB¡¢JNBE¡¢JL¡¢JLE (4) JNB¡¢JNBE¡¢JNL¡¢JNLE