高分寻 汇编语言 达人 来看段接口程序段 8086/8088

来源:百度知道 编辑:UC知道 时间:2024/06/20 16:57:44
能看懂大部分 就是不会怎么描述 写出这个程序段的 过程 主要功能 就行 也就是 解释一下 具体内容如下
————————————————————————————
MOV AX ,0
MOV BX ,2
MOV CX ,50
LP: ADD AX BX
ADD BX 2
LOOP LP
---------------------------------------------------------
希望 尽可能的 完整一点 多谢 好的话加分 我哪写的不明白 就留言问 我再补充
有其他的建议的多留言啊
出现的分歧 我会比较 最后选择最佳答案

楼主出手大方,不愧山东后裔。

这样一个小题,就是不出悬赏分,都会有人答的。况乎如此慷慨?

有道是:重赏之下,必有勇夫。不谬。我是其一。

MOV AX,0 ;累加器清零
MOV BX,2 ;等差级数初值
MOV CX,50 ;循环次数,亦即等差级数第50项,BX=100
LP: ADD AX,BX ;累加
ADD BX,2 ;等差级数增值
LOOP LP ;循环

一、本程序段功能:求等差级数2,4,6,...的前50项之和。

二、运行结果:
1、等差级数第50项=100,即bx=64H
2、等差级数前50项之和=2450,即AX=2450

三、本程序段未产生溢出。

四、程序段中的CX,是必须要有的,是很有用的,它是控制循环次数的。寄存器CX 通常用于做计数器。

MOV AX ,0 ;将十进制数0移入累加器AX
MOV BX ,2 ;将十进制数2移入基址寄存器BX
MOV CX ,50 ;将十进制数50移入计数寄存器CX
LP: ADD AX BX ;AX与BX相加,结果放入AX
ADD BX 2 ;BX=BX+2
LOOP LP ;循环,跳到标号LP

第一次循环:AX=AX+BX——>0+2=2,然后BX=BX+2即BX=4
第二次循环:AX=AX+BX——>2+4=6,然后BX=BX+2即BX=6
第三次循环:AX=AX+BX——>6+6=12,然后BX=BX+2即BX=8
……以此类推。
循环到一定时候,在16位机上,超出65535,溢出。

还有,上面CX给了个初始值却没有用