΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ(µÚ¶þ°æ)¿ÎºóϰÌâ´ð°¸ÍêÕû°æ ÏÂÔØ±¾ÎÄ

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£©

Ç廪´óѧ³ö°æÉç

MOV

NEXT1:

MOV INC

LOOP

NEXT1 MOV MOV MOV

NEXT2:

MOV CMP JNZ INC

AH,55H

byte ptr[BX],AH BX

BX,0000H CX,0C000H AL,81H AH, [BX] AH,55H EXIT BX

LOOP NEXT2 MOV MOV

AL,7EH AH,4CH

EXIT:

INT 21H CODE END

ENDS START

6. ÔÚµ±Ç°Êý¾Ý¶Î 4000H ¿ªÊ¼µÄ 128 ¸öµ¥ÔªÖдæ·ÅÒ»×éÊý¾Ý£¬ ÊÔ±à³ÌÐò½«ËüÃÇ˳

Ðò°áÒÆµ½ A000H ¿ªÊ¼µÄ˳Ðò 128 ¸öµ¥ÔªÖУ¬²¢½«Á½¸öÊý¾Ý¿éÖð¸öµ¥Ôª½øÐбÈ

½Ï ; ÈôÓÐ´í½« BL Öà 00H; È«¶ÔÔò½« BL Öà FFH £¬ÊÔ±à³ÌÐò¡£ ´ð£º

DATA SEGMENT

ORG 400H

DA1 ORG

DB 128 DUP(?)

0A00H DB

128 DUP(?)

DA2

DATA

ENDS

CODE SEGMENT ASSUME

CS:CODE,DS:DATA,ES:DATA

START: MOV AX,DATA

MOV DS,AX

17

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£©

Ç廪´óѧ³ö°æÉç

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

?

18

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£©

Ç廪´óѧ³ö°æÉç

C DB DATA CODE ASSUME

? ENDS

SEGMENT

CS:CODE,DS:DATA

AX,DATA DS,AX A,00H LP1 B,0 C,0 LP4

START: MOV

MOV CMP JNZ MOV MOV JMP

LP1:

CMP B,00H JNZ MOV MOV JMP

LP2 A,0 C,0 LP4

LP2:

CMP C,00H JNZ MOV MOV JMP MOV ADD ADD MOV INT

LP3 A,0 B,0 LP4 AL,A AL,B AL,C AH,4CH 21H

ENDS START

LP3:

LP4:

CODE END

8. ÓÐÒ»¸ö 100 ¸ö×Ö½ÚµÄÊý¾Ý±í£¬±íÄÚÔªËØÒѰ´´Ó´óµ½Ð¡µÄ˳ÐòÅÅÁкã¬ÏÖ¸ø¶¨Ò»ÔªËØ£¬ÊÔ±à³ÌÐòÔÚ±íÄÚ²éÕÒ£¬Èô±íÄÚÒÑÓдËÔªËØ£¬Ôò½áÊø ; ·ñÔò£¬°´Ë³Ðò½«´ËÔªËØ²åÈë±íÖÐÊʵ±µÄλÖ㬲¢ÐÞ¸Ä±í³¤¡£

19

΢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ£¨µÚ¶þ°æ£©

Ç廪´óѧ³ö°æÉç

´ð£º

DATA SEGMENT

BUFF DA1

DB DB

100 DUP(?) (?) DB 0

LENGTH

DATA

ENDS

CODE SEGMENT ASSUME

CS:CODE,DS:DATA

AX,DATA DS,AX SI,0 AL,DA1 CX,100 BUFF[SI],AL EXIT SI

FIND0 DI,99

START: MOV

MOV MOV MOV MOV

FIND0: CMP

JZ

INC

LOOP

MOV

MOV SI,0

COMPARE: CMP BUFF[DI],AL

JG

INSERT

BL,BUFF[DI] BUFF[DI+1],BL DI DI,SI

COMPARE EXIT

BUFF[DI+1],AL LENGTH , 101

AH,4CH

MOV

MOV

DEC

CMP

JNL

JMP

INSERT:

MOV MOV

EXIT: MOV

INT 21H

20