预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2/2汇编语言中的循环程序设计实验目的:掌握循环程序设计的基本方法。主要掌握几种基本的循环程序设计技巧,如计数法程序设计、当循环、直到循环等程序设计技术。实验内容:(任选其二)主要实验实例:1.用多种循环方法实现1+2+3+…+20的程序(至少二种方法);2.将寄存器AX中的2#数用16#形式显示出来;3.将内存中的数据块中(BUFF为起始地址)奇数和偶数分别存入以ADDR1和ADDR2开始的存储块中,并分别统计其中的奇、偶数,将统计结果存放在RESULT开始的两个字存储单元中;4.不利用乘法指令实现乘法的程序;5.对在附加段中的首地址为LIST的字数组进行从大到小的排序;6.对给定数组和给定数,编制程序来确定数组中是否有给定数的值,如有则从数组中删除之;7.对给定数组和给定数(设数组是有序数组),试将给定数插入给定数组中相应位置。实验准备:汇编语言下的循环程序设计基本技术和指令系统。循环程序设计的基本结构和问题表示方法。实验步骤:(1)完成源程序设计任务,并准备好测试用例,分析其可能的测试结果;(2)上机运行和测试所写的程序;(3)进行实验分析;(4)编写实验报告。实验结果:3.将内存中的数据块中(BUFF为起始地址)奇数和偶数分别存入以ADDR1和ADDR2开始的存储块中,并分别统计其中的奇、偶数,将统计结果存放在RESULT开始的两个字存储单元中;代码:datasegmentbuffdw6,35,99,17,80,69,50,33addr1dw8dup(?)addr2dw8dup(?)resultdw0,0dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovcx,8dmovsi,0;clearsimovdi,0;cleardimovbx,0movdx,0L1:testbuff[si],0001hjeL2movax,buff[si]movaddr2[bx],axaddsi,2addbx,2incdldeccxjmpL1L2:movax,buff[si]movaddr1[di],axadddi,2addsi,2incdhdeccxjmpL1movsi,0movbyteptrresult[si],dhaddsi,2movbyteptrresult[si],dlcodeendsendstart运行结果:4.不利用乘法指令实现乘法的程序;代码:datasegmentxdw30dydw10ddataendscodesegmentassumecs:code,ds:datastart:pushdssubax,axpushaxmovax,datamovds,axmovcx,xmovbx,ymovax,0L1:addax,bxloopL1movdx,axmovah,2int21hcodeendsendstart