资源描述:
《循环结构程序设计(汇编语言).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言实验报告实验名称:循环结构程序设计姓名:学号:班级:一、实验内容1.用多种循环方法实现1+2+3+…+20的程序(至少二种方法);2.编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入;(选做)3、编写一个汇编语言程序,要求将BX寄存器内的小写字母用大写字母显示出来。4、ADDR单元是存放数据的内存单元,要求将该内存单元中的字依次用十六进制数显示出
2、来。二、实验目的1.掌握循环程序的结构。2.掌握循环程序的设计、编写及调试方法。3.掌握循环程序设计的基本方法。主要掌握几种基本的循环程序设计技巧,如计数法程序设计、当循环、直到循环等程序设计技术。三、实验结果1、将内存中的数据块中(BUFF为起始地址)奇数和偶数分别存入以ADDR1和ADDR2开始的存储块中,并分别统计其中的奇、偶数,将统计结果存放在RESULT开始的两个字存储单元中。实验代码:(1.ASM1.OBJ1.EXE)datasegmentbuffdw6,35,99,17,80,69,50,3
3、3addr1dw8dup(?)addr2dw8dup(?)resultdw0,0dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovcx,8dmovsi,0movdi,0movbx,0movdx,0L1:testbuff[si],0001hjeL2movax,buff[si]movaddr2[bx],axaddsi,2addbx,2incdldeccxjmpL1L2:movax,buff[si]movaddr1[di],ax
4、adddi,2addsi,2incdhdeccxjmpL1movsi,0movbyteptrresult[si],dhaddsi,2movbyteptrresult[si],dlcodeendsendstart运行结果如下:1、不利用乘法指令实现乘法的程序代码如下:(2.ASM2.OBJ2.EXE)datasegmentxdw30dydw10ddataendscodesegmentassumecs:code,ds:datastart:pushdssubax,axpushaxmovax,datamovds,
5、axmovcx,xmovbx,ymovax,0L1:addax,bxloopL1movdx,axmovah,2int21hcodeendsendstart运行结果如下:1、用多种循环方法实现1+2+3+…+20的程序(至少二种方法)代码1:(31.ASM31.OBJ31.EXE)DATASEGMENTXDW0DYDW20DDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:PUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVBX,XMO
6、VCX,YMOVAX,0L1:INCBXADDAX,BXLOOPL1MOVDX,AXMOVAH,2INT21HCODEENDSENDSTART运行结果1如下:(结果存于DX寄存器中)实验代码2如下:(32.ASM32.OBJ32.EXE)DATASEGMENTYDW20DDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:PUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVCX,YMOVAX,0MOVBX,0L1:INCBXADDAX,
7、BXCMPBX,20JNZL1MOVDX,AXMOVAH,2INT21HCODEENDSENDSTART运行结果2如下:(实验结果存于DX寄存器中)1、编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入实验代码如下:(4.ASM4.OBJ4.EXE)codesegmentassumecs:codestart:movah,1int21hcmpal,0dhje
8、exitcmpal,'0'jbstartcmpal,'9'jbeoutput1cmpal,'A'jbstartcmpal,'Z'jbeoutputcmpal,'a'jbstartcmpal,'z'jbeoutputoutput1:movdl,almovah,2int21hjmpstartoutput:movah,02hmovdl,'c'int21hjmpstartexit:movah,4chint21hcodeendsends