·¢²¼Ê±¼ä : ÐÇÆÚÎå ÎÄÕÂ΢»úÔÀíÓë½Ó¿Ú¼¼Êõ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