当前位置:编程学习 > 汇编语言 >>

如何用汇编语言写水仙花数程序,要求dos汇编

补充:只要汇编的,不要C的 注意:我是要源代码,不是要汇编的书籍,王爽的书我有。
答案:stack segment   stack
dw   256   dup   (?)
stack ends

data segment
buf db   3   dup   (?)
data ends

code segment
assume   cs:code,ds:data,ss:stack

fj proc   near
push   cx
push   dx
push   si
mov   si,0
mov   cx,10
fj1:
mov   dx,0
div   cx
mov   buf[si],dl
inc   si
or   ax,ax
jnz   fj1
mov   ax,si
pop   si
pop   dx
pop   cx
ret
fj endp

print proc   near
push   cx
push   dx
mov   dx,-1
push   dx
mov   cx,10
p1:
mov   dx,0
div   cx
push   dx
or   ax,ax
jnz   p1
p2:
pop   dx
cmp   dx,-1
je   p9
add   dl,30h
mov   ah,2
int   21h
jmp   p2
p9:
mov   dl,9
mov   ah,2
int   21h
pop   dx
pop   cx
ret
print endp


start:
mov   ax,data
mov   ds,ax
mov   bx,100
s0:
mov   ax,bx
call   fj
mov   cx,ax
mov   si,0
mov   dx,0
s1:
mov   al,buf[si]
mul   buf[si]
mul   buf[si]
add   dx,ax
inc   si
loop   s1
cmp   dx,bx
jne   s2
mov   ax,dx
call   print
s2:
inc   bx
cmp   bx,1000
jb   s0

mov   ah,4ch
int   21h
code ends
end   start
其他:你没有资料吗?

这种东西哪那么容易就说得清

要学这个肯定要有资料,资料上肯定会有调试说明的

我推荐你个资料吧,王爽的《汇编语言》

这本书的电子版漫天飞,你去下本看看

希望能对你有帮助,呵呵 
请参考 

上一个:汇编语言 双竖线 是什么意思 就是 ||, 代表什么
下一个:php源码解密问题,向同行求助!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,