求助呀,输出乱码
我水平不怎么高,搞得现在输出有点乱码,呃,请高手给看看题目:从键盘输入4个十进制数字,依次保存在以DATA1为首的连续5字节内存单元的前4个单元中(先输入的在前,为高位),作为一个四位的十进制数乘以9后,结果保存在以DATA1为首的连续5字节内存单元中,然后在屏幕上以十进制方式显示出该运算结果。
我的程序如下:
data segment
data1 db 5,0,6 dup(?)
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
lea dx,data1
mov ah,0ah
int 21h
mov cx,4
mov di,offset data1+2
re: mov al,[di] ;使得数字向前移动一位
mov [di-1],al
inc di
loop re
mov di,offset data1+4
mov bl,09h
mov cx,4
mov bh,30h
again: mov al,[di] ;核心代码
and al,0fh
mul bl
aam
add al,30h
add al,bh
aaa
mov [di],al
add ah,30h
mov bh,ah
dec di
loop again
mov [di],ah
mov byte ptr[data1+6],'$'
lea dx,data1 ;显示模块
mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
end start