【正确答案】DATA SEGMENT
MEM DB 4DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE,DS: DATA
START: MOV AX,DATA
MOV DS,AX
MOV CL,4
MOV DH,AH
SHR DH,CL ;DH为AX最高位
CMP DH,9 ;判断是否大于9
JB A1 ;不是,转到A1
ADD DH,7 ;是,先加7
A1: ADD DH,30H ;加30H转换为ASCⅡ码
MOV MEM,DH ;将最高位转换好的ASCⅡ码存到MEM第一个单元中
AND AH,0FH ;取AH低四位
CMP AH,9 ;判断是否大于9
JB A2 ;不是,转到A2
ADD AH,7 ;是,先加7
A2: ADD AH,30H ;加30H转换为ASCⅡ码
MOV MEM+1,AH ;将AH低四位存入MEM第二个单元中
MOV DH,AL ;取AL高四位
SHR DH,CL
CMP DH,9 ;判断是否大于9
JB A3 ;不是,转到A3
ADD DH,7 ;是,先加7
A3: ADD DH,30,H ;加30H转换为ASCⅡ码
MOV MEM+2,DH ;将AL高四位存入MEM第三个单元中
AND AL,0FH ;求AL低四位
CMP AL,9 ;判断是否大于9
JB A4 ;不是,转到A4
ADD AL,7 ;是,先加7
A4: ADD AL,30H ;加30H转换为ASCⅡ码
MOV MEM+3,AL ;将AL低四位存放于MEM第四个单元中
LEA SI,MEM
MOV CX,4
NEXT: MOV DL,[SI] ;显示AX
MOV AH,02H
INT 21H
INC SI
LOOP NEXT
MOV AH,4CH
INT 21H
CODE ENDS
END START
【答案解析】