主题:已知S=1*1+2*2+3*3+4*4+……+N*N,从键盘输入N计算S的值。 这题怎么编大家帮帮!
903lu
[专家分:0] 发布于 2005-11-21 10:20:00
会的哥哥,姐姐,叔叔,阿姨帮帮,小弟快想到头爆啦![em7][em7]
回复列表 (共3个回复)
沙发
KJ [专家分:10] 发布于 2005-11-22 21:13:00
叼你,死陆志谐.........
板凳
xiaohaokof [专家分:1760] 发布于 2005-11-22 21:31:00
mov bx,1
mov ax,bx
L:mul bx
inc bx
add dx,ax
mov ax,bx
loop L
3 楼
wangcj2416 [专家分:20] 发布于 2005-12-01 21:09:00
;已知S=1*1+2*2+3*3+4*4+……+N*N,从键盘输入N计算S的值
data segment
msg1 db 'please input a num(1~9):$'
msg2 db 0dh,0ah,'s=','$'
errmsg db 'error.$'
s db ?
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
lea dx,msg1
mov ah,09h
int 21h
mov ah,01h
int 21h
cmp al,'1'
jb error
cmp al,'9'
ja error
and al,0fh
mov bl,al
mov dx,0
again:
mov al,bl
mul bl
add dx,ax
dec bl
jne again
mov ax,dx
mov bx,10
mov cx,0
lea si,s
lop1:mov dx,0
div bx
push dx
inc cx
or ax,ax
jne lop1
lop2:pop ax
add al,30h
mov [si],al
inc si
loop lop2
mov [si],byte ptr '$'
lea dx,msg2
mov ah,09h
int 21h
lea dx,s
jmp exit
error:
lea dx,errmsg
exit:mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
我来回复