用汇编语言编写“计算1+2*3+3*4...+N*(N+1)”的程序
展开全部
M equ 自行定义,界定循环次数
N equ #2
S equ #1
Start:LDA #(N-1)
Loop:INCA ;A寄存器值加一
MOV A,B ;把A寄存器值放到B寄存器中
INCB
JSR Count ;跳转到Count子程序,进行计算
CMPA #M ;判断循环条件
BLO loop ;小于M的话继续循环
Print:输出
Count:MUL A,B
RTS
对应C代码如下:
#Define M 自行定义,界定循环次数
main()
{
int S=1;
int N;
for(N=2;N<M;N++)
{
S+=N*(N+1);
}
printf("d%",S);
}
N equ #2
S equ #1
Start:LDA #(N-1)
Loop:INCA ;A寄存器值加一
MOV A,B ;把A寄存器值放到B寄存器中
INCB
JSR Count ;跳转到Count子程序,进行计算
CMPA #M ;判断循环条件
BLO loop ;小于M的话继续循环
Print:输出
Count:MUL A,B
RTS
对应C代码如下:
#Define M 自行定义,界定循环次数
main()
{
int S=1;
int N;
for(N=2;N<M;N++)
{
S+=N*(N+1);
}
printf("d%",S);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
code
segment
assume
cs:codestart:
mov
cx,1
mov
ax,2
next:
cmp
cx,200
jge
exit
inc
al
mov
bl,al
dec
bl
mul
bl
add
cx,ax
mov
ax,0
mov
al,bl
inc
al
jmp
next
exit:
mov
al,bl
aam
mov
dl,ah
mov
bl,al
add
dl,30h
mov
ah,2
int
21h
mov
dl,bl
add
dl,30h
mov
ah,2
int
21h
mov
ah,4ch
int
21h
code
ends
end
start
segment
assume
cs:codestart:
mov
cx,1
mov
ax,2
next:
cmp
cx,200
jge
exit
inc
al
mov
bl,al
dec
bl
mul
bl
add
cx,ax
mov
ax,0
mov
al,bl
inc
al
jmp
next
exit:
mov
al,bl
aam
mov
dl,ah
mov
bl,al
add
dl,30h
mov
ah,2
int
21h
mov
dl,bl
add
dl,30h
mov
ah,2
int
21h
mov
ah,4ch
int
21h
code
ends
end
start
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询