΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨Â¥Ë³Ìì±à×Å£©¿ÎºóϰÌâ´ð°¸ - ͼÎÄ ÏÂÔØ±¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/3/22 12:21:17ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

PUSH AX DIV BX

MOV [DI],AX POP AX POP DX SUB AX, [SI-4] SBB DX,0 ADD DI,2 ADD SI,2 LOOP L1

20. ÔÚÓÉ×Ö·û´®¹¹³ÉµÄ»º³åÇøBUFFERÖУ¬Ç°2¸ö×Ö½Ú´æ·Å×Ö·û¸öÊý£¬ºóÐøÃ¿¸ö×Ö½Ú´æ·ÅÒ»¸ö×Ö·ûµÄASCIIÂë¡£±àд³ÌÐòʵÏÖ½«×Ö·û´®¡®2004¡¯Ìæ»»³É¡®2006¡¯¡£ ½â£ºÔÚÊý¾Ý¶ÎÖж¨Ò壺

BUFFER DW 74

DB ¡®This year is 2004. In 2004, we have a plan for reducing annual expensive 10%¡¯

DEST DB ¡®2004¡¯ ÔÚ´úÂë¶ÎÖбàд³ÌÐò¶Î£º

CLD

LEA MOV ADD LEA PUSH PUSH

SI, BUFFER CX, [SI] SI, 2

DI, DEST SI DI

L1:

PUSH CX MOV CX, 4

REPZ CMPSB JNZ L2

MOV BYTE PTR [SI-1],¡¯6¡¯ POP POP POP INC

CX DI SI SI

L2:

INC DI LOOP L1

21. ¶¨ÒåÓÐÏÂÁкêÖ¸Á

WAGS MACRO S1,S2,S3

SUB AX,AX MOV DX,AX ADD AX,S1 ADD AX,S2 ADC DX,0

£­ 81 £­

ADD AX,S3

ADC DX,0 ENDM

µ±²ÉÓúêµ÷ÓÃÖ¸Áî?WAGS 60000£¬25000£¬3000?ʱ£¬Ö´ÐкóDX£½ AX£½ ¡£ ½â£ººêÖ¸ÁîWAGSÍê³ÉµÄ¹¦ÄÜΪS1+S2+S3£¬½á¹û·ÅÔÚDX:AXÖС£ËùÒÔ£¬µ÷ÓÃ?WAGS 60000,25000,3000?ʱ£¬Æä½á¹ûΪ

DX=0001H £¬AX=57C0H

22. ¶ÔÉÏÌⶨÒåµÄºêÖ¸ÁÈç¹û²ÉÓúêµ÷ÓÃÖ¸Áî?WAGS BX,CX,SI?ʱ£¬Ð´³öºêÕ¹¿ªÐÎʽ¡£ ½â£ºµ÷ÓÃ?WAGS BX,CX,SI?ʱ£¬ºêÕ¹¿ªÐÎʽ£º

SUB AX,AX

MOV DX,AX ADD AX,BX ADD AX,CX ADC DX,0 ADD AX,SI

ADC DX,0

23. д³öºêÖ¸ÁîSUMMING£¬ÊµÏÖ½«×Ö½Ú»º³åÇøarrayÖеÄÄÚÈÝÇóУÑéºÍ£¨±£ÁôµÍ8룩£¬²¢±£´æÔÚVALUEÖС£

½â£ºÉèarrayǰÁ½¸ö×Ö½Ú±£´æ»º³åÇø×Ö½ÚÊý£¬ÔÚºêÖ¸ÁîSUMMING£¬½«arrayºÍVALUE×÷ΪÐÎʽ²ÎÊý¡£

SUMMING MACRO array,VALUE L1:

LEA MOV ADD XOR ADD INC LOOP

SI,array CX,[SI] SI,2 AL,AL AL,[SI] SI L1

MOV VALUE,AL ENDM

£­ 82 £­

µÚ4Õ »ã±àÓïÑÔ³ÌÐòÉè¼Æ

1. ÒÑÖªÔÚBUFµÄÆðʼ´¦±£´æÓÐN¸ö×Ö·ûµÄASCIIÂ룬±àд»ã±àÓïÑÔ³ÌÐòʵÏÖ£¬½«Õâ×é×Ö

·û´®´«Ë͵½»º³åÇøBUFRÖУ¬²¢ÇÒʹ×Ö·û´®µÄ˳ÐòÓëÔ­À´µÄ˳ÐòÏà·´¡£ ½â£ºBUF DB \

BUFR

MOV CX, N LEA SI, BUF LEA DI, BUFR ADD DI,CX DEC DI L1:

MOV AL,[SI] MOV [DI],AL INC SI DEC DI LOOP L1

2. ÀûÓÃÒÆÎ»¡¢´«ËͺÍÏà¼ÓÖ¸ÁîʵÏÖAXµÄÄÚÈÝÀ©´ó10±¶¡£

½â£º½«À©´óºóµÄ½á¹û·ÅÔÚDX£ºAXÖУ¬×¢Òâµ½10¡ÁAX£½8¡ÁAX£«2¡ÁAX¡£ XOR SHL RCL MOV MOV SHL RCL SHL RCL ADD ADC

DX,DX AX, 1 DX, 1 BX,AX CX,DX AX, 1 DX, 1 AX, 1 DX, 1 AX, BX DX, CX

DB 100 DUP(?)

3. ÔÚ»º³åÇøVARÖÐÁ¬Ðø´æ·Å×Å3¸ö16λµÄÎÞ·ûºÅÊý£¬±àд³ÌÐòʵÏÖ½«Æä°´µÝÔö¹ØÏµÅÅÁУ»

Èç¹ûVARÖб£´æµÄΪÓзûºÅÊý£¬ÔòÔÙ±àд³ÌÐòʵÏÖ½«Æä°´µÝ¼õ¹ØÏµÅÅÁС£ ½â£ºVAR DW 1236£¬-432£¬3900

XOR SI,,SI

MOV AX,VAR[SI] CMP AX, VAR[SI+2] JAE L1

XCHG AX, VAR[SI+2] L1:

CMP AX, VAR[SI+4] JAE L2

XCHG AX, VAR[SI+4]

£­ 83 £­

L2:

MOV VAR[SI], AX MOV AX,VAR[SI+2] CMP AX, VAR[SI+4] JAE L3

XCHG AX, VAR[SI+4] L3:

MOV VAR[SI+2], AX

4. ±àд³ÌÐò¶ÎʵÏÖ½«ALºÍBLÖеÄÿһλÒÀ´Î½»²æ£¬µÃµ½µÄ16λ×Ö±£´æÔÚDXÖУ¬ÀýÈç

£¨AL£©£½01100101B£¬£¨BL£©£½11011010B£¬ÔòµÃµ½µÄ£¨DX£©£½10110110 10011001B¡£ ½â£ºÀûÓÃÒÆÎ»Ö¸ÁîÍê³É¡£ XOR DX,DX

MOV CX,8 L1:

SHR AL,1 RCR DX,1 SHR BL,1 RCR DX,1 LOOP L1

5. ÔÚ±äÁ¿VAR1ºÍVAR2Öзֱ𱣴æÓÐÁ½¸ö×Ö½ÚÐ͵ÄÕýÕûÊý£¬±àдÍêÕûµÄ»ã±àÓïÑÔ³ÌÐòʵ

ÏÖ£º

£¨1£©µ±Á½ÊýÖÐÓÐÒ»¸öÆæÊýʱ£¬½«ÆæÊý´æÈëVAR1£¬Å¼Êý´æÈëVAR2£» £¨2£©µ±Á½Êý¾ùÎªÆæÊýʱ£¬Á½¸ö±äÁ¿µÄÄÚÈݲ»±ä£» £¨3£©µ±Á½Êý¾ùΪżÊýʱ£¬Á½ÊýËõСһ±¶ºó´æÈëÔ­´¦¡£

½â£ºµ±VAR1ÎªÆæÊýʱ£¬²»ÂÛVAR2µÄÆæÅ¼ÐÔ£¬ÕâÁ½¸öµ¥ÔªµÄÄÚÈݾù²»±ä£»Ö»Óе±VAR1ΪżÊýʱ£¬Èç¹ûVAR2ÎªÆæÊý£¬ÔòVAR1ÓëVAR2ÄÚÈݽ»»»£»Èç¹ûVAR2ΪżÊý£¬ÔòÁ½ÊýËõСһ±¶ºó´æÈëÔ­´¦¡£ DATA SEGMENT VAR1 DB 28 VAR2 DB 36 DATA ENDS CODE SEGMENT

ASSUME CS:CODE, DS:DATA, ES:DATA

START:

MOV AX, DATA MOV DS,AX MOV ES, AX MOV AL,VAR1 MOV BL,VAR2 TEST AL,1 JZ EVEN1

JMP OVER

EVEN1: TEST BL,1

£­ 84 £­