下面是一个将十进制数每两个转换为一个压缩的BCD码,如何将转化结果输出啊?本人刚学,忘各位大侠赐教!!!如果用 MOV AH,2输出应该放在哪啊?
DATAS SEGMENT
ASC DB 31H,32H,33H,34H,35H,36H
COUNT EQU ($-ASC)/2 ;定义转换次数常量
BCD DB COUNT DUP(?) ;空出单元
DATAS ENDS
STACKS SEGMENT
DB 200 DUP(0)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
MOV SI,OFFSET ASC ;ASCII码表地址
MOV DI,OFFSET BCD ;BCD码存放地址
MOV CX,COUNT ;转换次数
AGAIN:MOV AL,[SI] ;取一字节
SHL AL,1 ;左移四位,为了不占用CL,用四句SHL实现
SHL AL,1
SHL AL,1
SHL AL,1
MOV BL,[SI+1] ;取下一字节
AND BL,0FH ;高4位置0
ADD AL,BL ;组合起来
MOV [DI],AL ;存结果
INC SI ;修改SI
INC SI
INC DI ;修改DI
LOOP AGAIN ;修改至完全转换
MOV AH,4CH
INT 21H
CODES ENDS
END START