注册 登录
编程论坛 汇编论坛

我想显示出结果出来

开心一族 发布于 2007-06-22 11:20, 602 次点击

大家好,帮个忙呀,我想显示结果出来可是出现一堆乱码的,我不知道那里有问题怎样才能显示结果出来呀.
data segment
x db 15
y db 34
z dw ?
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov al,x
mul x
mov bx,ax
mov ax,y
mul y
add ax,bx
shr ax,1
mov z,ax
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start

6 回复
#2
菜鸟上路2007-06-22 11:55
要往DX中传值
#3
herbert_19872007-06-23 14:09
data segment
x db 15
y db 34
z dw ?
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov al,x
mul x
mov bx,ax
mov ax,y
mul y
add ax,bx
shr ax,1
mov z,ax

lea dx, z

mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
#4
herbert_19872007-06-23 14:11

搞错了, 在这里用9号中断不好.
要输出一个大于两为的数可以用2号中断把每个位分别输出来.

#5
danielliujp2007-06-24 10:22

嗯,9号中断是输出字符串的,串尾要有个'$'

#6
hero20072007-06-24 22:10
是的9号输出,字符串尾必须有$,用2号输出好。
#7
zhulei19782007-06-24 22:23

data segment
x db 15
y db 34
z dw ?
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov al,x
mul x
mov bx,ax
mov al,y
mul y
add ax,bx
shr ax,1

dis2:
mov bx,10
push bx

dis3:
cmp ax,0
jz dis4
sub dx,dx
div bx
add dl,30h
push dx
jmp dis3

dis4:
pop dx
cmp dl,10
je dis5
mov ah,2
int 21h
jmp dis4
dis5:


mov ah,4ch
int 21h
code ends
end start

1