汇编语言实验报告(循环)
loop s
exit:
mov ah,02h
mov ax,4c00h
int 21h
codes ends
end
6、实验体会
通过本次实验,我了解到了循环程序执行的过程,之前只能写一些简单的顺序程序,但很多程序并不是只有顺序的,而是可能由分支、循环、多重循环、子程序等等组成,所以掌握循环程序是必须的。除此之外,我还练习了程序的流程,对后面的学习有一些了解。
西安财经学院信息学院
《汇编语言程序设计》实验报告
实验名循环结构程序设计实验室实验楼403实验日期2013/05/28
1、实验目的及要求
1.通过练习,基本掌握循环程序的思想
2.练习分析和理解题意,达到合理的算法和数据结构
二、实验环境
硬件环境:一台微型计算机;
软件环境:windows 7,debug环境,masm
从截图中可以看出ax累加后的内容为十六进制的13BA,即十进制结果为5050,正好是1到100之和,说明结果正确,程序正常结束。
5、源程序清单
程序源代码如下:
codes segment
assume cs:codes
mov ax,0h
mov bx,01hmov cx,64h来自s:add ax,bx
add bx,01h
同时cx自动减1,为63H,第一次循环结束。
接下来继续执行刚才的步骤,ip由刚才的000e,跳到0009,再次将ax与bx进行相加,即0+1+2=3,之后,bx再加一,而cx也减一,第二次循环结束。再之后,ip再次跳回0009执行刚才的步骤,一直循环直到cx值为0为止。
为了节省时间,我们用-g命令执行程序查看结果:
3、实验内容
实现1到100之和。
四、实验过程:
实验1:
(1)进入DOS方式,进入文件夹存放位置,E:\masm
(2)用MASM程序把ASM文件转换成OBJ文件
再生成.exe文件。
(3)进入debug环境,查看指令
(4)单步执行指令
可知,首先给ax、bx、cx赋值,ax存放相加的结果,初值为0,bx=1,cx为循环次数十进制100的十六进制表示法64H。再将ax与bx相加结果送入ax,即0+1=1,并且bx自动加1。