΢»úÔ­Àí»Æ±ù°æ--×÷Òµ´ð°¸

D DW ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX CMP A,0 JZ STOP CMP B,0 JZ STOP CMP C,0

JZ STOP ;ÓÐÒ»¸öΪ0£¬È«²¿ÖÃ0

MOV AH,0 ;·ñÔò×÷¼Ó·¨ÔËË㣬·Åµ½D£¬×¢Òâ¼Ó·¨ÔËËã½á¹ûΪ×Ö MOV BH,0 MOV AL,A MOV BL,B ADD AX,BX MOV BL,C ADD AX,BX MOV D,AX JMP STOP NEXT: MOV A,0 MOV B,0 MOV C,0 STOP: MOV AH, 4CH INT 21H CODE ENDS

END START

3.22 ÊÔ·ÖÎöÏÂÁгÌÐò¶Î£¬ËµÃ÷Íê³ÉÁËʲô²Ù×÷£¿³ÌÐòÖ´ÐÐǰºóHEXNUM×Ö½Úµ¥ÔªµÄÄÚÈÝÊÇʲô£¿

ASCNUM DB 41H HEXNUM DB £¿

MOV AH£¬ASCNUM CMP AH£¬39H JBE NEXT SUB AH£¬7

NEXT£ºSUB AH£¬30H

MOV HEXNUM£¬AX HLT ½â£º

'0'~'9'Óë'A'~'F'×é³ÉµÄһλʮÁù½øÖÆÊýµÄASCIIÂëת»»ÎªÒ»Î»Ê®Áù½øÖÆÊý¡£ ³ÌÐòÖ´ÐÐǰ£º[HEXNUM] = ? ³ÌÐòÖ´Ðкó£º[HEXNUM] = 0AH

3.23 ÔÚÊý¾ÝÇøSTR1µ¥Ôª¿ªÊ¼´æ·ÅÒ»³¤¶ÈΪ1¡«256¸ö×Ö·ûµÄ×Ö·û´®¡£ÒªÇó¶Ô¸Ã×Ö·û´®ÖÐÿ¸ö×Ö·ûÔÚ×î¸ßλÅäÉÏÒ»¸öżУÑé루¼´±£³ÖÒ»×Ö½ÚÊýÖÐ1µÄ¸öÊýΪżÊý£©£¬²¢´æ»Øµ½Ô­µ¥ÔªÖС£ DATA SEGMENT

STR1 DB 'abcdefghi' LEN1 EQU $-STR1 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA MOV DS,AX MOV CX,LEN1 MOV SI,0

ALOOP: MOV AL,STR1[SI]

OR AL,0 ;Óë0Ïà»ò£¬²»Ó°ÏìÔ­À´µÄÖµ

JP CONTINUE ;Èô1µÄ¸öÊýΪżÊý£¬²»×öÈκδ¦Àí OR AL,80H ; Èô1µÄ¸öÊýΪżÊý£¬×î¸ßλÖÃ1 MOV STR1[SI],AL CONTINUE:INC SI

LOOP ALOOP STOP: MOV AH, 4CH INT 21H CODE ENDS

END START

3.24 ÒÑÖªÔÚÊý¾ÝÇøÖÐDATA1ºÍDATA2¿ªÊ¼·Ö±ð´æ·ÅN¸ö×Ö½ÚÊý¾Ý£¬±àÖÆ³ÌÐò¼ì²éÁ½Êý¾Ý¿éÖеÄÊý¾ÝÊÇ·ñÏàͬ¡£ÈôÍêȫһÖ£¬Ôò½«±êÖ¾µ¥ÔªFLAGÖÃFFH£¬·ñÔòÖÃ0¡£²¢½«µÚÒ»´Î³öÏֵIJ»Í¬Êý¾ÝµÄµØÖ··Ö±ð´æ·ÅADR1ºÍADR2µ¥ÔªÖУ¬±àд³ÌÐò¡£ ;¼ÙÉèΪ°´Ë³Ðò±È½Ï£¬·ÇÎÞÐò±È½Ï DATA SEGMENT

DATA1 DB 22H,33H,44H,55H DATA2 DB 22H,33H,44H,66H N EQU $-DATA2 FLAG DB ? ADR1 DW ? ADR2 DW ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,N MOV SI,0 MOV DI,0

ALOOP1: MOV AL,DATA1[SI] CMP AL,DATA2[DI] JNZ NE12 INC SI INC DI LOOP ALOOP1 MOV FLAG,0FFH

JMP EXIT NE12: MOV FLAG,0 MOV ADR1,SI MOV ADR2,DI EXIT: MOV AH, 4CH INT 21H CODE ENDS

END START

3.25 ¶¨ÒåÒ»Êý×éGRADE´æ·ÅÓÐ100¸öѧÉúijÃŹ¦¿ÎµÄ¿¼ÊԳɼ¨£¬ÒªÇó±àÒ»³ÌÐò£¬Í³¼Æ¸÷·ÖÊý¶ÎµÄÈËÊý£¬¼´ÒªÇóͳ¼Æ90¡«100·Ö£¬80¡«89·Ö£¬70¡«79·Ö£¬60¡«69·ÖÒÔ¼°60·ÖÒÔϵĸ÷ÓжàÉÙÈË¡£ DATA SEGMENT

GRADE DB 12,65,77,88,98,23,94,75,85,62 LEN EQU $-GRADE A DB 0 B DB 0 C DB 0 D DB 0 E DB 0 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CX,LEN ALOOP1: MOV SI,CX DEC SI

CMP GRADE[SI],60

JB GRE ;<60, E+1->E CMP GRADE[SI],70

JB GRD ;<70, D+1->D CMP GRADE[SI],80

JB GRC ;<80, C+1->C CMP GRADE[SI],90

JB GRB ;<90, B+1->B INC A ;>=90, A+1->A JMP GOON GRB: INC B

JMP GOON GRC: INC C

JMP GOON GRD: INC D

JMP GOON GRE: INC E JMP GOON GOON: LOOP ALOOP1 MOV AH, 4CH INT 21H CODE ENDS

END START

3.26 ±àÒ»³ÌÐò£¬ÔÚÒÔBUFΪÊ×Ö·µÄ×Ö½Úµ¥ÔªÖдæ·ÅÁËCOUNT¸öÎÞ·ûºÅÊý£¬ÕÒ³öÆäÖÐ×î´óÊýËÍMAXµ¥Ôª¡£ DATA SEGMENT

BUF DB 11,23,43,45,67,82,38,48,98,34,67 COUNT EQU $-BUF MAX DB ? DATA ENDS CODE SEGMENT

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

MOV DS,AX MOV CX,COUNT

MOV AL,0 ;ALÓÃÁ¦´æ·Å×î´óÊý£¬³õֵΪ0 ALOOP: MOV SI,CX DEC SI

CMP AL,BUF[SI] ;´ÓºóÃæÈ¡Êý¾Ý£¬ÓëAL±È½Ï JAE GOON

MOV AL,BUF[SI] GOON: LOOP ALOOP MOV MAX,AL MOV AH, 4CH INT 21H CODE ENDS

END START

3.27 ÀûÓÃϵͳ¹¦Äܵ÷ÓôӼüÅÌÊäÈë10¸öһλÎÞ·ûºÅÊý£¬Çó³öÆäÖÐ×î´óºÍ×îСÊý£¬ÔÚÏÔʾÆ÷ÉÏÊä³öÏÔʾ¡£ DATA SEGMENT

IN_STR DB 'Please Input 10 Num of 0~9:$' MAX_STR DB 0DH,0AH,'MAX Num is:$' MIN_STR DB 0DH,0AH,'MIN Num is:$' MAX DB ? MIN DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,IN_STR MOV AH,09H

INT 21H ;ÌáʾÊäÈë10¸öÊý×Ö IND: MOV AH,01H

INT 21H ;ÊäÈëÒ»¸ö×Ö·û CMP AL,30H

JB IND ;<30H,ERROR CMP AL,39H

JA IND ;>39H,ERROR SUB AL,30H

MOV MIN,AL ;µÚÒ»¸öÊý³õʼ»¯MIN MOV MAX,AL ;µÚÒ»¸öÊý³õʼ»¯MAX MOV CX,3 ALOOP: MOV AH,01H

INT 21H ;ÊäÈëÒ»¸ö×Ö·û CMP AL,30H

JB ALOOP ;<30H,ERROR CMP AL,39H

JA ALOOP ;>39H,ERROR SUB AL,30H ;ASCII->Êý CMP AL,MIN

JB GOMIN ;СÓÚ×îСÊý£¬AL->MIN£¬ÊäÈëÏÂÒ»¸öÊý CMP AL,MAX

JA GOMAX ;´óÓÚ×î´óÊý£¬AL->MAX£¬ÊäÈëÏÂÒ»¸öÊý

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)