DATAS SEGMENT
data db 100,?,100 dup(?)
ten dw 10
number dw 0
count dw 0
string db 'Error input!$'
string1 db 0dh,0ah,'$'
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT stack
dw 100 dup(?)
top label word;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov ax,stacks
mov ss,ax
lea sp,top
lea dx,data
mov ah,10
int 21h
lea si,data
inc si
mov ch,0
mov cl,byte ptr[si]
mov bx,0
loop1:
inc si
mov ah,0
mov al,byte ptr[si]
cmp ax,30h
jb error
cmp ax,39h
ja error
sub ax,30h
xchg ax,bx
mul ten
add bx,ax
loop loop1
lea dx,string1
mov ah,9
int 21h
mov cx,bx
mov ax,0
loop2:
inc number
add ax,number
loop loop2
loop3:
mov dx,0
div ten
push dx
inc count
cmp ax,0
jnz loop3
loop4:
pop dx
add dx,30h
mov ah,2
int 21h
dec count
jnz loop4
;此处输入代码段代码
jmp endofproc
error:
lea dx,string1
mov ah,9
int 21h
lea dx,string
mov ah,9
int 21h
endofproc:
MOV AH,4CH
INT 21H
CODES ENDS
END START
1到N累加求和
最新推荐文章于 2023-10-27 17:26:26 发布