100分求汇编实现1到100之间奇数和偶数的求和

snowbirdfly 2008-03-05 03:41:52
由于本人好久没有用8086汇编了,朋友让这个程序,希望借宝地向高手求助~~~
程序很简单,但是就是把汇编语法都忘了,谢谢大家了~~~
...全文
4006 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wen513520 2008-03-07
  • 打赏
  • 举报
回复 1
assume cs:code
code segment
start: mov bx,0
mov cx,50
mov ax,0
mov dx,0
loop1: add bx,1
add ax,bx
add bx,1
add dx,bx
loop loop1
mov ax,4c00h
int 21h
code ends
end start
ppzzhhsky 2008-03-07
  • 打赏
  • 举报
回复
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
嗷嗷叫的老马 2008-03-06
  • 打赏
  • 举报
回复
cnzdgs 2008-03-05
  • 打赏
  • 举报
回复
	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
snowbirdfly 2008-03-05
  • 打赏
  • 举报
回复
好的,谢了~~~
用户 昵称 2008-03-05
  • 打赏
  • 举报
回复
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


俺这段代码应该没问题了。

用户 昵称 2008-03-05
  • 打赏
  • 举报
回复
别着急,俺在debug呢,不知道是否正确呢,bug一堆。
snowbirdfly 2008-03-05
  • 打赏
  • 举报
回复
好的,谢了~~~

;实现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

看看有没有什么逻辑错误啊,谢了 ~~~
用户 昵称 2008-03-05
  • 打赏
  • 举报
回复
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


大概是这样

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧