【高分悬赏】汇编语言 输入n,计算1到n累加并输出

如题,如何将输入数字的字符串转换成数值
并计算1+2+3+……+n

data segment
msg db 'input N:$'
data ends

code segment
assume cs:code,ds:data
main proc near
start:
mov ax,data
mov ds,ax

mov dx,offset msg
mov ah,09h
int 21h

call decibin;接收N的子程序

mov cx,bx
mov bx,0
loop1:
add bx,cx;1+2+…N的和存入BX
loop loop1

call crlf
call bini;显示BX中的内容

mov ah,4ch
int 21h
ret
main endp
;------------------------------
decibin proc near;接收N子程序
mov bx,0
newchar:
mov ah,1
int 21h
sub al,30h
jl exit
cmp al,9d
jg exit
cbw
xchg ax,bx
mov cx,10d
mul cx
xchg ax,bx
add bx,ax
jmp newchar
exit:
ret
decibin endp
;------------------------------------
bini proc near;转化为十进制输出子程序
mov cx,10000d
call bin
mov cx,1000d
call bin
mov cx,100d
call bin
mov cx,10d
call bin
mov cx,1d
call bin
ret
bini endp

bin proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,02h
int 21h
ret
bin endp
;--------------------------------
crlf proc near;回车换行子程序
mov dl,0dh
mov ah,02h
int 21h
mov dl,0ah
mov ah,02h
int 21h
ret
crlf endp

code ends
end start
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-25
是 80x86 的汇编吗?

输入、输出,用的都是些什么设备?

参考一下:

http://hi.baidu.com/do_sermon/item/8bcb4ef7b6a2a66d3c1485c3
相似回答