¡¶Î¢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ¡·£¨µÚËİ棩ÖܺÎÇٿκóϰÌâ´ð°¸

MOV DL, BL MOV AH, 2 INT 21H

MOV DL, BH INT 21H POP AX RET DISP ENDP

µ÷ÊÔ³ÌÐò

STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS DATA SEGMENT

DA1 DB 5FH, 0A4H, 0C7H DA2 DB 100 DUP(?) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START: PUSH DS

MOV AX,DATA MOV DS,AX MOV DL,DA1 CALL CON CALL DISP POP DS HLT CON:

PUSH AX PUSH CX MOV CL,4 MOV AL,DL AND AL,0FH CMP AL,0AH JNC LP1 ADD AL,30H JMP LP2 LP1: ADD AL,37H LP2: MOV BL,AL MOV AL,DL SHR AL,CL AND AL,0FH CMP AL,0AH JNC LP3 ADD AL,30H JMP LP4 LP3: ADD AL,37H LP4: MOV BH,AL POP CX POP AX RET

25

DISP:

PUSH AX MOV DL,BL MOV AH,2 INT 21H MOV DL,BH INT 21H POP AX RET CODE ENDS END START

13. ½«¼üÅÌÉÏÊäÈëµÄһλΪʮÁù½øÖÆÊýת»»³ÉÊ®½øÖÆÊý£¬ÔÚÆÁÄ»ÉÏÏÔʾ¡£ DATA SEGMENT

DATA1 DB 10 DUP£¨?£© DATA2 DB 10 DUP£¨?£© DATA ENDS

STACK SEGMENT STACK

DB 100 DUP£¨£¿£©

STACK ENDS CODE SEGMENT

ASSUME CS£ºCODE£¬DS£ºDATA£¬SS£ºSTACK START£ºPUSH DS

MOV AX£¬DATA

MOV DS£¬AX KEY: MOV AH,1 INT 21H ZH: CMP AL,3AH JAE ZH1

SUB AL,30H JMP ZH2

ZH1: SUB AL,37H ADD AL,0 DAA

ZH2: MOV BL,AL AND AL,0F0H MOV CL,4 SHR AL,CL ADD AL,30H MOV BH,AL MOV AL,BL AND AL,0FH ADD AL,30H

MOV BL,AL DISP: MOV DL,BH

MOV AH,2 INT 21H MOV DL,BL MOV AH,2 INT 21H POP DS MOV AH£¬4CH INT 21H HLT

CODE ENDS

END START

26

µ÷ÊÔ³ÌÐò£º

STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS DATA SEGMENT

BUF1 DB 'Please input one hexadecimal(0-9,A-F):',0DH,0AH,'$' BUF2 DB 20H,20H,'Decimal(0-15):',0DH,0AH,'$' BUF3 DB 10 DUP(?) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK START: PUSH DS

MOV AX,DATA MOV DS,AX

MOV DX,OFFSET BUF1 MOV AH,9 INT 21H KEY: MOV AH,1 INT 21H PUSH AX

MOV DX,OFFSET BUF2 MOV AH,9 INT 21H POP AX

ZH: CMP AL,3AH JAE ZH1 SUB AL,30H JMP ZH2 ZH1: SUB AL,37H ADD AL,0 DAA

ZH2: MOV BL,AL AND AL,0F0H MOV CL,4 SHR AL,CL ADD AL,30H MOV BH,AL MOV AL,BL AND AL,0FH ADD AL,30H

MOV BL,AL DISP: MOV DL,BH MOV AH,2 INT 21H MOV DL,BL MOV AH,2 INT 21H POP DS MOV AH,4CH INT 21H HLT CODE ENDS

END START

22. ±à³ÌÐòͳ¼ÆÑ§ÉúµÄÊýѧ³É¼¨£¬·Ö±ð¹éÀà90¡«99·Ö£¬80¡«89·Ö£¬70¡«79·Ö£¬60¡«69·Ö¼°60·ÖÒÔÏ£¬²¢½«¸÷¶ÎµÄÈËÊýËÍÈëÄÚ´æµ¥ÔªÖС£ ½â£º

STACK SEGMENT

DB 100 DUP£¨£¿£©

STACK ENDS DATA SEGMENT

27

DATA1 DB 200 DUP£¨?£© DATA2 DB 100 DUP£¨?£© DATA3 DB 10 DUP£¨?£© DATA ENDS CODE SEGMENT

ASSUME CS£ºCODE£¬DS£ºDATA£¬SS£ºSTACK START£ºPUSH DS

MOV AX£¬DATA MOV DS£¬AX XOR CX£¬CX

KEY£ºMOV SI£¬OFFSET DATA1 KEY1£ºMOV AH£¬1 INT 21H CMP AL£¬¡®$¡¯ JZ ZH INC CX

MOV [SI]£¬AL

INC SI

JMP KEY1

ZH£º MOV SI£¬OFFSET DATA1 MOV DI£¬OFFSET DATA2 SHR CX,1 PUSH CX

ZH1£ºMOV AL£¬[SI]

AND AL£¬0FH SHL AL£¬1 SHL AL£¬1 SHL AL£¬1 SHL AL£¬1 MOV BL£¬AL INC SI

MOV AL£¬[SI] AND AL£¬0FH OR AL£¬BL MOV [DI]£¬AL INC SI INC DI

LOOP ZH1

TJ£º POP CX

MOV DI£¬OFFSET DATA2 TJ0£º MOV AL£¬[DI]

CMP AL£¬90H

JNB TJ1

CMP AL£¬80H

JNB TJ2

CMP AL£¬70H

JNB TJ3

CMP AL£¬60H

JNB TJ4

INC 4[DATA3] JMP TJ5

TJ1£º INC [DATA3] JMP TJ5

TJ2£º INC 1[DATA3] JMP TJ5

TJ3£º INC 2[DATA3] JMP TJ5

TJ4£º INC 3[DATA3] 28

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