΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ1-8Ï°Ìâ½â´ðÍõÓñÁ¼ ÁªÏµ¿Í·þ

·¢²¼Ê±¼ä : ÐÇÆÚÎå ÎÄÕÂ΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ1-8Ï°Ìâ½â´ðÍõÓñÁ¼¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ6dc2294ce45c3b3567ec8bb1

CODE SEGMENT

ASSUME CS£ºCODE£¬DS£ºDATA

START£º MOV AX£¬DATA

MOV DS£¬AX CALL SUBP1 SUBP1

LOP1£º

CALL SUBP2 CALL SUBP3 MOV AH£¬4CH INT 21H

PROC

MOV SI£¬OFFSET FIRST MOV DI£¬OFFSET SECOND XOR BL£¬BL MOV CL£¬2 MOV AX£¬[SI]

MOV DX£¬[SI+2]

SHL AX£¬1

RCL DX£¬1 RCL BL£¬1 DEC CL JNZ LOP1 MOV [DI]£¬AX

MOV [DI+2]£¬DX MOV [DI+4]£¬BL RET

SUBP1 SUBP2

LOP2£º

SUBP2 SUBP3

ENDP PROC

MOV SI£¬OFFSET FIRST MOV DI£¬OFFSET THIRD XOR BL£¬BL MOV CL£¬2 MOV AX£¬[SI] MOV DX£¬[SI+2]

SHR DX£¬1

RCR AX£¬1 RCR BL£¬1 DEC CL JNZ LOP2 MOV [DI]£¬BL MOV [DI+1]£¬AX MOV [DI+3]£¬DX RET

ENDP PROC

MOV SI£¬OFFSET FIRST MOV DI£¬OFFSET FORTH MOV AX£¬[SI] MOV DX£¬[SI+2] NOT AX

NOT DX ADD AX£¬1 ADC DX£¬0 MOV [DI]£¬AX MOV [DI+2]£¬DX RET

SUBP3 CODE

9£®Ö¸ÁîÓï¾äAND AX£¬OPD1 AND OPD2ÖУ¬OPD1ºÍOPD2ÊÇÁ½¸öÒѸ³ÖµµÄ±äÁ¿£¬ÎÊÁ½¸öAND²Ù×÷·Ö±ðÔÚʲôʱ¼ä½øÐÐ?ÓÐʲôÇø±ð?

½â Ç°ÃæµÄANDÊÇÖ¸ÁÔÚ³ÌÐòÔËÐÐʱִÐУ¬ºóÃæµÄANDÊÇÔËËã·û£¬ÔÚ»ã±àµÄʱºòÓÉ»ã±à³ÌÐò¼ÆË㣬±í´ïʽ¼ÆËã½á¹û³öÏÖÔÚÖ´ÐгÌÐòÖС£¶þÕßµÄÇø±ðÔÚÓÚ£¬Ç°ÕßÊÇÖ¸Á³ÌÐòÔËÐÐʱִÐУ¬ºóÕßÊÇÔËËã·û£¬»ã±àʱ¼ÆËã¡£

10£®ÈçÏÂÖ¸Áî»ò³ÌÐòÊÇ·ñÓÐ´í£¬ÈôÓÐ´í£¬ÇëÖ¸³ö´íÔÚÄÄÀï?

ENDP ENDS END START

(1)KI EOU 1024

©«

MOV K1£¬AX MOV DS£¬100 MOV [1000]£¬[2000]

(2)

(3)IMP DB ?

©«

MOV IMP£¬AX

(4)A1 DB ? A2 DB 10

©«

CMP A1£¬A2

(5)½«1000ËÍÈëX1µ¥Ôª£¬ÓÃÈçϳÌÐò£º X1 ½â

(1)MOV K1£¬AX´í¡£ÒòΪK1ΪÁ¢¼´Êý£¬Ëü²»ÄÜ×÷ΪĿµÄ²Ù×÷Êý¡£

(2)ÕâÁ½ÌõÖ¸ÁÊÇ´íµÄ¡£µÚÒ»ÌõÁ¢¼´Êý²»ÄÜÖ±½ÓË͸ø¶Î¼Ä´æÆ÷£»µÚ¶þÌõÁ½¸ö²Ù×÷Êý²»ÄÜͬʱΪÄÚ´æ²Ù×÷Êý¡£

(3)MOV IMP£¬AX´í¡£Á½²Ù×÷ÊýÀàÐͲ»Æ¥Å䣬IMPÊÇÒ»×Ö½ÚÄÚ´æµ¥Ôª£¬¶øAX¼Ä´æ

DB ? ©«

MOV BX£¬X1 MOV [BX]£¬1000