我花了点时间做了下
你可以参考参考,
data segment
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov cx,3
mov ax,1h
mov bx,2h
three:
push ax ;以下11行为核心代码
push bx
mul bx
mov dx,ax
add si,dx
pop ax
pop bx
inc ax
inc bx
dec cx
jnz three;没有完成继续
mov ax,si ;将结果放ax好显示
mov dx,0 ######################
mov bx,1000
div bx
push dx
add al,30H
mov dl,al
mov ah,2
int 21H
pop dx
mov ax,dx##########################
mov dx,0
mov bx,100
div bx
push dx
add al,30H
mov dl,al
mov ah,2
int 21H
pop dx
mov ax,dx
mov dx,0
mov bx,10
div bx
push dx
add al,30H
mov dl,al
mov ah,2
int 21H
pop dx
mov ax,dx
add ax,30H
mov dx,ax
mov ah,2
int 21H ;分别显示千百十个位
mov ah,4ch
int 21h;返回DOS
code ends
end start;结束
显示代码很长,因为我显示了四位,所以s只要是小于9999的数都可以,只显示三位的话你将####之间的部分去掉就可以了,
程序仅供参考!!
希望对你有用。
另外和你说下MASM5.0是编译软件的版本号而不是DOS的版本号
用的什么软件啊?,masm2.0还是其他啊?是在运行中用cmd打开的那个来做的吗?