21,458
社区成员
发帖
与我相关
我的任务
分享
xor ax, ax
mov cx, ax ; cx储存奇数的和
mov dx, ax ; dx储存偶数的和
lp:
inc ax
cmp ax, 100
ja Exit
test ax, 1
jz even
add cx, ax
jmp lp
add dx, ax
jmp lp
exit:
ret
data segment
sum1 dw 0
sum2 dw 0
data ends
stack segment
s db 1000 dup( 0 )
stack ends
code segment
assume cs:code, ds:data, ss:stack
start:
mov ax, data
mov ds, ax
mov ax, 0
mov cx, 0 ;偶数部分
loop1:
add ax, cx
inc cx
inc cx
cmp cx, 101
jl loop1
mov sum1, ax
mov ax, 0
mov cx, 1 ;奇数部分
loop2:
add ax, cx
inc cx
inc cx
cmp cx, 100
jl loop2
mov sum2, ax
mov ah, 4ch
int 21h
code ends
end start
;实现1-100之间的奇数相加
datas segment
sum dw ?
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov ax,0
mov bx,1
mov cx,50
next:
add ax,bx
inc bx
inc bx
loop next
mov sum,ax
mov ah,4ch
int 21h
codes ends
end start
data segment
sum1 dw 0
sum2 dw 0
data ends
stack segment
s db 1000 dup( 0 )
stack ends
code segment
assume cs:code, ds:data, ss:stack
start:
mov ax, 0
mov cx, 100 ;偶数部分
loop1:
add ax, cx
dec cx
loop loop1
mov sum1, ax
mov ax, 0
mov cx, 99 ;奇数部分
loop2:
add ax, cx
dec cx
loop loop2
mov sum2, ax
mov ah, 4ch
int 21h
code ends
end start