如何用汇编语言写水仙花数程序,要求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源码解密问题,向同行求助!