ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 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 £