΢»úÔ­Àí¼°Ó¦ÓÃÆÚÄ©¿¼ÊÔÌâ ÏÂÔØ±¾ÎÄ

START: MOV AX,DATA MOV DS,AX

;½«55H ÒÀ´Î·ÅÈëBUFF ¿ªÊ¼µÄ4K ¸öµ¥Ôª LEA SI,BUFF

MOV CX,1000H MOV AL,55H NTXT: MOV [SI],AL INC SI

LOOP NEXT

;È¡³öÓë55H ±È½Ï£¬È«¶ÔÔòERR=0£¬·ñÔòERR=FFH LEA DI,BUFF LEA SI,ERR MOV CX,1000H

NEXT1: MOV AL,[DI] INC DI

CMP AL,55H

JNZ ERROR£»ÈôÓÐÒ»¸ö²»Í¬£¬¼´ÖÃERR=FFH LOOP NEXT1 MOV AL,00H

MOV [SI],AL£»È«±È½ÏÍêÎÞ´í£¬ÔòÖÃERR=0 JMP EXIT

ERROR: MOV AL,0FFH MOV [SI],AL ;·µ»ØDOS

EXIT: MOV AH,4CH INT 21H CODE ENDS END START END

7£®ÔÚÉÏÌâÖУ¬Èç¹û·¢ÏÖÓдíʱ£¬ÒªÇóÔÚERR µ¥ÔªÖдæ·Å³ö´íµÄÊý¾Ý¸öÊý£¬Ôò³ÌÐò¸ÃÈçºÎÐÞ ¸Ä£¿ ½â´ð£º

DATA SEGMENT

BUFF DB 1000H DUP(?) ERR DW ? DATA ENDS ;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

;½«55H ÒÀ´Î·ÅÈëBUFF ¿ªÊ¼µÄ4K ¸öµ¥Ôª LEA SI,BUFF MOV CX,1000H MOV AL,55H

NTXT: MOV [SI],AL INC SI

LOOP NEXT

;È¡³öÓë55H ±È½ÏLEA DI,BUFF LEA SI,ERR MOV DX,0000H MOV CX,1000H

NEXT1: MOV AL,[DI] INC DI

CMP AL,55H

JZ NEXT2£»ÈôÏàͬ£¬Ôò±È½ÏÏÂÒ»¸ö

INC DX£»·ñÔò½«·Å³ö´í¸öÊýµÄDX ¼Ó1 NEXT2£º LOOP NEXT1 MOV [SI],DX ;

EXIT: MOV AH,4CH INT 21H CODE ENDS END START END

8£®ÊÔ±àд³ÌÐò¶Î£¬Íê³É½«Êý¾ÝÇø´Ó0100H ¿ªÊ¼µÄÒ»´®×Ö½ÚÊý¾ÝÖð¸ö´ÓF0H ¶Ë¿ÚÊä³ö£¬ÒÑÖª

Êý¾Ý´®ÒÔ0AH Ϊ½áÊø·û¡£ ½â´ð£º

DATA SEGMENT ORG 0100H

DATA1 DB N DUP(?) DATA ENDS ;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

;½«DATA1 Êý¾Ý´®ÖеÄÊý¾ÝÈ¡³ö²¢´ÓF0H ¶Ë¿ÚÖÐÊä³ö LEA SI,DATA1 MOV CX,N MOV BL,0AH

NTXT: MOV AL,[SI] CMP AL,BL JZ EXIT

OUT 0F0H,AL INC SI

LOOP NEXT ;·µ»ØDOS

EXIT: MOV AH,4CH INT 21H

CODE ENDS END START END

9£®(24)ÄÚ´æÖÐÒÔFIRST ºÍSECOND ¿ªÊ¼µÄµ¥ÔªÖÐ·Ö±ð´æ·Å×ÅÁ½¸ö4 λÓÃѹ

ËõBCD Âë±íʾ

µÄÊ®½øÖÆÊý, µÍλÔÚǰ¡£±à³ÌÐòÇóÕâÁ½¸öÊýµÄºÍ£¬ÈÔÓÃѹËõBCD Âë±íʾ, ²¢´æµ½ÒÔTHIRD ¿ªÊ¼µÄµ¥Ôª¡£ ½â´ð£º

DATA SEGMENT FIRST DW 3412H SECOND DW 7856H THIRD DB ?,?,? DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,FIRST LEA DI,SECOND LEA BX,THIRD MOV CX,2 CLC

AGAIN: MOV AL,BYTE PTR[SI] MOV DL,BYTE PTR[DI] ADC AL,DL DAA

MOV BYTE PTR[BX],AL INC SI INC DI INC BX

LOOP AGAIN JC AA

MOV BYTE PTR[BX],0 JMP EXIT

AA: MOV BYTE PTR[BX],1 EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

10£®(27)Éè×Ö±äÁ¿µ¥ÔªA¡¢B¡¢C ´æ·ÅÓÐÈý¸öÊý£¬ÈôÈý¸öÊý¶¼²»ÎªÁ㣬ÔòÇóÈý¸öÊýµÄºÍ£¬´æ

·ÅÔÚD ÖУ»ÈôÓÐÒ»¸öΪÁ㣬Ôò½«ÆäÓàÁ½¸öÒ²ÇåÁ㣬ÊÔ±àд³ÌÐò¡£ ½â´ð£º

DATA SEGMENT A DB ? B DB ?

C DB ? D DW ? DATA ENDS ;

STACK SEGMENT STACK ENDS ;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX LEA SI,A LEA DI,D MOV AL,[SI] CMP AL,00 JZ ZERO ADC DX,AL LEA SI,B MOV AL,[SI] CMP AL,00 JZ ZERO ADC DX,AL LEA SI,C MOV AL,[SI] CMP AL,00 JZ ZERO ADC DX,AL MOV [DI],DX JMP EXIT

ZERO: MOV AL,0 MOV A,AL MOV B,AL MOV C,AL ;

EXIT: MOV AX,4C00H INT 21H CODE ENDS END START

11£®(16)ÊÔ±à³ÌÐò£¬Í³¼ÆÓÉTABLE ¿ªÊ¼µÄ128 ¸öµ¥ÔªÖÐËù´æ·ÅµÄ×Ö·û¡°A¡±µÄ¸öÊý£¬²¢½«½á

¹û´æ·ÅÔÚDX ÖС£ ½â´ð£º

DATA SEGMENT

TABLE DB X1,X2,...X128 DATA ENDS ;

STACK SEGMENT STACK ENDS