ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/7/18 6:56:09ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£
£»Çó²¹ LEA SI£¬FIRST LEA DI£¬FORTH
MOV AX£¬WORD PTR [SI] £»AX=5F90H ΪµÍÊ®ÁùλÊý¾Ý INC SI INC SI
MOV DX£¬WORD PTR [SI] £» DX=696EH Ϊ¸ßÊ®ÁùλÊý¾Ý XOR AX£¬ 0FFFFH £»½«µÍÊ®Áùλȡ·´ XOR DX£¬ OFFFFH £»½«¸ßÊ®Áùλ°´Î»È¡·´ CLC
ADD AX£¬01H £»µÍλ¼Ó1£¬¼´¿ÉΪÔÊýµÄÇó²¹ ADC DX£¬0 £»¸ßλ¼ÓµÍλ¼Ó·¨Ê±µÄ½øÎ» MOV WORD PTR [DI] £¬ AX MOV WORD PTR [DI+2] £¬DX MOV AH£¬4CH INT 21H
CODE ENDS
END START
5. ÊÔ±à³ÌÐò½«ÄÚ´æ´Ó40000Hµ½4BFFFHµÄÿ¸öµ¥ÔªÖоùдÈë55H£¬²¢ÔÙÖð¸öµ¥Ôª¶Á³ö±È½Ï£¬¿´Ð´ÈëµÄÓë¶Á³öµÄÊÇ·ñÒ»Ö¡£ÈôÈ«¶Ô£¬Ôò½«ALÖÃ7EH; Ö»ÒªÓÐ´í£¬Ôò½«ALÖÃ81H¡£ ´ð£º
DATA SEGMENT DA1 DB 55H CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,4000H MOV DS,AX MOV CX,0C000H MOV BX,0000H
MOV AH,55H NEXT1: MOV byte ptr[BX],AH INC BX LOOP NEXT1
MOV BX,0000H MOV CX,0C000H MOV AL,81H NEXT2: MOV AH, [BX] CMP AH,55H JNZ EXIT INC BX LOOP NEXT2 MOV AL,7EH EXIT: MOV AH,4CH INT 21H CODE ENDS END START
6. ÔÚµ±Ç°Êý¾Ý¶Î4000H¿ªÊ¼µÄ128¸öµ¥ÔªÖдæ·ÅÒ»×éÊý¾Ý£¬ÊÔ±à³ÌÐò½«ËüÃÇ˳Ðò°áÒÆµ½A000H¿ªÊ¼µÄ˳Ðò128¸öµ¥ÔªÖУ¬²¢½«Á½¸öÊý¾Ý¿éÖð¸öµ¥Ôª½øÐбȽÏ; ÈôÓÐ´í½«BLÖÃ00H; È«¶ÔÔò½«BLÖÃFFH£¬ÊÔ±à³ÌÐò¡£ ´ð£º
DATA SEGMENT ORG 400H
DA1 DB 128 DUP(?) ORG 0A00H DA2 DB 128 DUP(?) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX
LEA SI,DA1 LEA DI,DA2 MOV CX,128 AGAIN: MOV AL,[SI] INC SI INC DI LOOP AGAIN LEA SI, DA1 LEA DI, DA2 MOV CX,128 NEXT: MOV AL,[SI] MOV BL,[DI] CMP AL,BL JNZ ERROR INC SI INC DI MOV BL,0FFH LOOP NEXT JMP EXIT ERROR: MOV BL,00H EXIT: MOV AH,4CH INT 21H CODE ENDS END START
7. Éè±äÁ¿µ¥ÔªA¡¢B¡¢C´æ·ÅÓÐ3¸öÊý£¬Èô3¸öÊý¶¼²»ÎªÁ㣬ÔòÇó3¸öÊýµÄºÍ£¬´æ·ÅÔÚDÖÐ; ÈôÓÐÒ»¸öΪÁ㣬Ôò½«ÆäÓàÁ½¸öÒ²ÇåÁ㣬ÊÔ±àд³ÌÐò¡£ ´ð£º
DATA SEGMENT A DB ? B DB ?
C DB ? DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX CMP A,00H JNZ LP1 MOV B,0 MOV C,0 JMP LP4 LP1: CMP B,00H JNZ LP2 MOV A,0 MOV C,0 JMP LP4 LP2: CMP C,00H JNZ LP3 MOV A,0 MOV B,0 JMP LP4 LP3: MOV AL,A ADD AL,B ADD AL,C MOV AH,4CH LP4: INT 21H CODE ENDS END START
8. ÓÐÒ»¸ö100¸ö×Ö½ÚµÄÊý¾Ý±í£¬±íÄÚÔªËØÒѰ´´Ó´óµ½Ð¡µÄ˳ÐòÅÅÁкã¬ÏÖ¸ø¶¨Ò»ÔªËØ£¬ÊÔ±à³ÌÐòÔÚ±íÄÚ²éÕÒ£¬Èô±íÄÚÒÑÓдËÔªËØ£¬Ôò½áÊø; ·ñÔò£¬°´Ë³Ðò½«´ËÔªËØ²åÈë±íÖÐÊʵ±µÄλÖ㬲¢ÐÞ¸Ä±í³¤¡£
´ð£º
DATA SEGMENT
BUFF DB 100 DUP(?) DA1 DB (?) LENGTH DB 0 DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,0 MOV AL,DA1 MOV CX,100 FIND0: CMP BUFF[SI],AL JZ EXIT INC SI LOOP FIND0 MOV DI,99 MOV SI,0
COMPARE: CMP BUFF[DI],AL JG INSERT MOV BL,BUFF[DI] MOV BUFF[DI+1],BL DEC DI CMP DI,SI JNL COMPARE JMP EXIT INSERT: MOV BUFF[DI+1],AL
EXIT:
MOV LENGTH , 101 MOV AH,4CH INT 21H