回 帖 发 新 帖 刷新版面

主题:已知S=1*1+2*2+3*3+4*4+……+N*N,从键盘输入N计算S的值。 这题怎么编大家帮帮!

会的哥哥,姐姐,叔叔,阿姨帮帮,小弟快想到头爆啦![em7][em7]

回复列表 (共3个回复)

沙发

叼你,死陆志谐.........

板凳

mov bx,1
  mov ax,bx
L:mul bx
  inc bx
  add dx,ax
  mov ax,bx
  loop L

3 楼

;已知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

我来回复

您尚未登录,请登录后再回复。点此登录或注册