ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2025/9/20 1:45:00ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£
´ð£ºMOV AX, 1234H (AX)=1234H, CF=0£¬SF=0£¬ZF=0 MOV CL, 4
ROL AX,CL (AX)=2341H,CF=1£¬SF=0£¬ZF=0 DEC AX (AX)=2340H,CF=1£¬SF=0£¬ZF=0 MOV CX,4
MULL CX (AX)=8D00H, CF=0£¬SF=1£¬ZF=0
INT 20H
½áÊøºó£¬(DX)=0000H, (AX)=8000H
9. ÊÔ·ÖÎöÏÂÁгÌÐò¶Î£º
ADD AX, BX JNC L2 SUB AX, BX JNC L3 JMP SHORTL5
Èç¹ûAX£¬BXµÄÄÚÈݸø¶¨ÈçÏ£º
AX BX (1) 14C6H 80DCH (2) B568H 54B7H
ÎʸóÌÐòÔÚÉÏÊöÇé¿öÏÂÖ´Ðк󣬳ÌÐòתÏòºÎ´¦¡£ ´ð£º£¨1£©×ªµ½L2´¦ £¨2£©×ªµ½L3´¦
ϰÌâ4
1£®ÏÂÁÐÓï¾äÔÚ´æ´¢Æ÷ÖзֱðΪ±äÁ¿·ÖÅä¶àÉÙ×ֽڿռ䣿²¢»³ö´æ´¢¿Õ¼äµÄ·ÖÅäͼ¡£
VAR1 DB 10£¬2
VAR2 DW 5 DUP£¨£¿£©£¬0
VAR3 DB ¡®HOW ARE YOU£¿¡¯£¬3 DUP£¨1£¬2£© VAR4 DD -1£¬1£¬0 ´ð£º×ֽڿռ䣺
VAR1£º2£» VAR2£º12£» VAR3£º13£» VAR4£º8¡£ ´æ´¢¿Õ¼äµÄ·ÖÅäͼ£º
2£®¼Ù¶¨VAR1 ºÍVAR2 Ϊ×Ö±äÁ¿£¬LAB Ϊ±êºÅ£¬ÊÔÖ¸³öÏÂÁÐÖ¸ÁîµÄ´íÎóÖ®´¦¡£ £¨1£©ADD VAR1£¬VAR2 £¨3£©JMP LAB[CX]
£¨2£©SUB AL£¬VAR1 £¨4£©JNZ VAR1 £¨6£©SHL AL£¬ 4
£¨5£© MOV [1000H]£¬100
´ð£º(1) ÔÚËãÊõÔËËãÖ¸ÁîÖУ¬Á½¸ö²Ù×÷Êý²»ÄÜͬʱΪ´æ´¢Æ÷Ѱַ·½Ê½ (2) AL Ϊ×Ö½Ú£¬VAR1 Ϊ×Ö±äÁ¿£¬×Ö³¤²»ÏàµÈ£»
(3) ´íÎó1£º¼Ä´æÆ÷Ïà¶ÔѰַ·½Ê½£¬Ö»ÄÜʹÓûùÖ·»ò±äÖ·¼Ä´æÆ÷£¬²»ÄÜʹÓÃCX¼Ä´æÆ÷¡£
´íÎó2£º»ã±à¸ñʽ´íÎó£¬ÎÞ·¨ÅжÎÊǶÎÄÚ×ªÒÆ»¹ÊǶμä×ªÒÆ¡£ (4) תÏòµØÖ·Ó¦Îª±êºÅ£¬²»ÄÜÊDZäÁ¿£»
(5) Ä¿µÄ²Ù×÷ÊýµÄÀàÐͲ»È·¶¨£»
(6) SHL Ö¸ÁîÖУ¬µ±ËùÒÆÎ»Êý³¬¹ý1 ʱ£¬±ØÐëÓÃCLÈ¡´úËùÒÆÎ»Êý¡£
3£®¶ÔÓÚÏÂÃæµÄ·ûºÅ¶¨Ò壬ָ³öÏÂÁÐÖ¸ÁîµÄ´íÎó¡£
A1 DB £¿ A2 DB 10 K1 EQU 1024
£¨1£© MOV K1£¬AX £¨2£©MOV A1£¬AX £¨3£©CMP A1£¬A2 £¨4£©K1 EQU 2048 ´ð£º(1)K1 Ϊ³£Á¿£¬²»ÄÜÓÃMOV Ö¸Áֵ£» (2)A1 Ϊ×Ö½Ú£¬AX Ϊ×Ö±äÁ¿£¬ÀàÐͲ»Ò»Ö£» (3)A1 ºÍA2ͬΪ´æ´¢Æ÷Ѱַ·½Ê½£¬²»·ûºÏÓï·¨¹æÔò£» (4)K1 ÖØÐ¸³ÖµÇ°£¬±ØÐëÓÃPURGE ÊÍ·Å¡£
4£®Êý¾Ý¶¨ÒåÓï¾äÈçÏÂËùʾ: FIRST DB 90H£¬5FH£¬6EH£¬69H SECOND DB 5 DUP(?) THIRD DB 5 DUP(?) FORTH DB 4 DUP (?)
×ÔFIRST µ¥Ôª¿ªÊ¼´æ·ÅµÄÊÇÒ»¸öËÄ×Ö½ÚµÄÊ®Áù½øÖÆÊý(µÍλ×Ö½ÚÔÚǰ),ÒªÇó: ±àÒ»¶Î³ÌÐò½«Õâ¸öÊý×óÒÆÁ½Î»ºó´æ·Åµ½×ÔSECOND ¿ªÊ¼µÄµ¥Ôª,ÓÒÒÆÁ½Î»ºó´æ·Åµ½×ÔTHIRD ¿ªÊ¼µÄµ¥Ôª,Ç󲹺ó·Åµ½FORTH¿ªÊ¼µÄµ¥Ôª¡£(×¢Òâ±£ÁôÒÆ³ö²¿·Ö) ´ð£º
DATA SEGMENT
FIRST DB 90H£¬5FH£¬6EH£¬69H SECOND DB 5 DUP(?) THIRD DB 5 DUP(?) FORTH DB 4 DUP (?) DATA ENDS
CODE SEGMENT
ASSUME CS£ºCODE£¬DS£ºDATA START£ºMOV AX£¬DATA
MOV DS£¬AX LEA SI£¬FIRST LEA DI£¬SECOND MOV CX£¬2 CLC
£»×óÒÆ2 λ
MOV AX£¬WORD PTR [SI] £»AX=5F90H ΪµÍÊ®ÁùλÊý¾Ý INC SI INC SI
MOV DX£¬WORD PTR [SI] £»DX=696EH Ϊ¸ßÊ®ÁùλÊý¾Ý PUSH DX £»±£´æÔÓеĸßÊ®ÁùλÊý¾Ý PUSH AX £»±£´æÔÓеĵÍÊ®ÁùλÊý¾Ý ROL DX£¬CL
£»½«¸ßλÊý¾Ý²»´ø½øÎ»Ñ»·×óÒÆÁ½Î»£¬¼´¸ß2 λÊý¾ÝÔÚDL µÄµÍ
2 λ
AND DL£¬03H £»ÈÃDL Öнö±£´æÒƳöµÄ¸ß2 λÊý¾Ý MOV [DI+4] £¬DL£»½«ÒƳöµÄ¸ß2 λÊý¾Ý·ÅÈëSECOND ÖеÄ×î¸ßµ¥ÔªÖÐ ROL AX£¬CL
£»½«µÍλÊý¾Ý²»´ø½øÎ»Ñ»·×óÒÆÁ½Î»£¬¼´AX µÄ¸ß2 λÔÚAL µÄµÍ
2 λ
AND AL£¬03H£»ÈÃAL Öнö±£´æÒƳöµÄAX ¸ß2 λÊý¾Ý MOV BL £¬AL£»½«AL ÖеÄÊý¾Ý·ÅÈëBL Öб£´æ POP AX£»µ¯³öÔÓеĵÍÊ®ÁùλÊý¾Ý POP DX£»µ¯³öÔÓеĸßÊ®ÁùλÊý¾Ý
SHL DX£¬CL£»½«¸ßλÊý¾ÝËãÊõÂß¼×óÒÆ2 λ SHL AX£¬CL£»½«µÍλÊý¾ÝËãÊõÂß¼×óÒÆ2 λ
OR DL£¬BL£»½«AX ÖÐÒÆ³öµÄ¸ß2 λÊý¾Ý·ÅÈëDX µÄµÍ2 λ MOV WORD PTR [DI] £¬AX MOV WORD PTR [DI+2] £¬DX
£»ÓÒÒÆ2 λ
LEA SI£¬FIRST LEA DI£¬THIRD MOV CX£¬2 CLC
MOV AX£¬WORD PTR [SI] £»AX=5F90H ΪµÍÊ®ÁùλÊý¾Ý INC SI INC SI
MOV DX£¬WORD PTR [SI] £» DX=696EH Ϊ¸ßÊ®ÁùλÊý¾Ý PUSH DX£»±£´æÔÓеĸßÊ®ÁùλÊý¾Ý PUSH AX£»±£´æÔÓеĵÍÊ®ÁùλÊý¾Ý
ROR AX£¬CL£»½«µÍλÊý¾Ý²»´ø½øÎ»Ñ»·ÓÒÒÆÁ½Î»£¬¼´µÍ2 λÊý¾ÝÔÚAH µÄ¸ß2 λ
AND AH£¬0C0H£»ÈÃAH Öнö±£´æÒƳöµÄµÍ2 λÊý¾Ý PUSH CX MOV CX£¬6 SHR AH£¬CL POP CX
MOV [DI] £¬AH £»½«ÒƳöµÄµÍ2 λÊý¾Ý·ÅÈëTHIRD ÖеÄ×îµÍµ¥ÔªÖÐ ROR DX£¬ CL
£»½«µÍλÊý¾Ý²»´ø½øÎ»Ñ»·×óÒÆÁ½Î»£¬¼´AX µÄ¸ß2 λÔÚAL µÄµÍ
2 λ
AND DH£¬0C0H £»ÈÃDH Öнö±£´æÒƳöµÄDX µÍ2 λÊý¾Ý MOV BL £¬DH £»½«DH ÖеÄÊý¾Ý·ÅÈëBL Öб£´æ POP AX £»µ¯³öÔÓеĵÍÊ®ÁùλÊý¾Ý POP DX £»µ¯³öÔÓеĸßÊ®ÁùλÊý¾Ý SHR DX£¬CL £»½«¸ßλÊý¾ÝËãÊõÂß¼×óÒÆ2 λ SHR AX£¬CL £»½«µÍλÊý¾ÝËãÊõÂß¼×óÒÆ2 λ
OR AH£¬BL £»½«DX ÖÐÒÆ³öµÄµÍ2 λÊý¾Ý·ÅÈëAX µÄ¸ß2 λ MOV WORD PTR [DI+1] £¬ AX MOV WORD PTR [DI+3] £¬DX