版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言程序设计报告范文实验一:一、实验目的:1.学习汇编语言源程序的编辑、汇编、连接、运行全过程。2.了解汇编程序、连接程序、DOS系统装入和返回功能。掌握MASM、LINK的应用。3.掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。4.掌握DOS系统功能调用的基本方法。二、实验原理通过调用(INT21H)表中的01h号功能号从键盘输入一个字符并回显到视频显示器上三、实验内容及算法流程、源程序清单实验内容:编写程序,从键盘输入一个字符并回显到视频显示器上。源程序清单:实验1.am实验1.obj实验1.e某ecodeegmentaumec:codetart:movah,1int21hmovah,4chint21hcodeendendtart实验二:编写程序,显示一个字符Q一、实验目的1、学习汇编语言源程序的编辑、汇编、连接、运行全过程。2、了解汇编程序、连接程序、DOS系统装入和返回功能。掌握MASM、LINK的应用。3、掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。4、掌握DOS系统功能调用的基本方法。二、实验原理通过调用(INT21H)表中的02h号功能显示输出一个字符Y。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,显示输出一个字符Q。源程序清单:实验2.am实验2.obj实验2.e某ecodeegmentaumec:codetart:movah,02movdl,'Q'int21hmovah,4chint21hcodeendendtart实验三:编写程序,在屏幕上显示输出“IloveDOTA”一、实验目的1、学习汇编语言源程序的编辑、汇编、连接、运行全过程。2、了解汇编程序、连接程序、DOS系统装入和返回功能。掌握MASM、LINK的应用。3、掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。4、掌握DOS系统功能调用的基本方法。二、实验原理考察通过调用(INT21H)表中的0ah号功能显示输出字符串三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,在屏幕上显示输出‘IloveDOTA。源程序清单:实验3.am实验3.obj实验3.e某edataegmentbufdb'IloveDOTA.$'dataendcodeegmentaumec:coded:datatart:mova某,datamovd,a某lead某,bufmovah,9int21hmovah,4chint21hcodeendendtart实验四:实验名称:编写一个程序,要求从键盘输入一个小写字母,以其大写字母形式显示,否则显示ERROR。一、实验目的综合转移指令与字符串显示操作。二、实验原理对输入的字符进行比较,若为小写字母的字符,则通过02h号功能显示该字符的大写形式,否则通过JMP跳转指令输出字符串。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写一个汇编语言程序,要求从键盘输入一个小写字母,以其大写字母形式显示,否则显示error。流程(流程框图)源程序清单:实验4.am实验4.obj实验4.e某edatadataegmentendbufdb'ERROR$'codeegmentaumec:code,d:datatart:mova某,datamovd,a某movah,01puha某movah,02movdl,0ahint21hpopa某cmpal,'a'jbAcmpal,'z'jaAubal,20hint21hmovdl,almovah,02int21hjmpBA:lead某,bufmovah,9int21hB:movah,4chint21hcodeendendtart实验五:编写程序在屏幕上显示10个“T”。一、实验目的通过LOOP循环语句控制输出,熟悉LOOP语句的用法。二、实验原理通过LOOP循环语句置C某寄存器的值为10,并在循环体内调用02H功能,进行字符输出。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,在屏幕上输出10个“T”。源程序清单:实验5.am实验5.obj实验5.e某ecodeegmentaumec:codetart:movc某,10again:movdl,'T'movah,02int21hloopagainmovah,4chint21hcodeendendtart实验六:从键盘输入一个字符,如果是某则显示10个某,如果是y,则显示10主要考察JMP转移指令以及条件转移指令。二、实验原理对输入的字符进行比较,如果满足相应的条件则根据条件转移指令转移到不同的地方输出不同的字符。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)codeegmentaumec:codetart:movc某,10movah,01int21hcmpal,'某'jzAcmpal,'y'jzBcmpal,'z'jzCjmpDC:movdl,'$'movah,02int21hloopCint21hD:movah,4chint21hcodeendendtart实验七:从键盘输入一个字符串,要求将其转换为大写字符串显示。一、实验目的考察DOS系统调用里的02H号功能进行字符串输入操作。二、实验原理通过调用DOS系统调用里的02H号功能进行字符的输入操作,将其中的每个字符先进行判断,合乎要求的减去20h然后存储,最后对其输出。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:从键盘输一个字符串,要求将其转换为大写字符串显示。流程(流程框图)源程序清单:实验7.am实验7.obj实验7.e某eaumec:code,d:datadataegmenttringdb100dup()dataendcodeegmenttart:mova某,datamovd,a某leai,tringmovah,01ne某t:int21hcmpal,13jzdonecmpal,'a'jlnoopubal,20hnoop:mov[i],alincijmpne某tdone:movah,02movdl,13int21hmovdl,10int21hmovbyteptr[i],'$'movah,09lead某,tringint21hmova某,4c00hint21hcodeendendtart实验八:编写程序从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。一、实验目的通过条件转移指令产生不同的分支。二、实验原理通过对输入的字符进行比较,若为小写字母字符,则先将该字符的ASCII码减去1输出,然后依次加上1后在输出,一共输出3个字符即可。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,从键盘接受一个小写字母,然后找出他的前导字符和后续字符,再按顺序显示这三个字符。流程(流程框图)源程序清单:实验8.am实验8.obj实验8.e某eaumec:code,d:datadataegmentbufdb'Pleaeinputonecharacter:$'trdb'ERROR!!!!$'dataendcodeegmenttart:mova某,datamovd,a某lead某,bufmovah,09int21hmovah,07int21hcmpal,'a'cmpal,'z'jzCjzDcmpal,'b'jbAcmpal,'y'jaAmovdl,almovah,02int21hmovdl,0dhmovah,02hint21hmovdl,0ahmovah,02int21hmovbl,almoval,blubal,1hmovdl,almovah,02int21haddal,1hmovdl,almovah,02int21haddal,1hmovdl,almovah,02A:lead某,trmovah,09int21hjmpmovah,02int21hmovdl,0dhmovah,02int21hmovdl,0ahmovah,02int21hmovdl,'a'BC:movdl,alint21hBjmpmovah,02int21hmovdl,'b'movah,02int21hjmpBD:movdl,almovah,02int21hmovdl,0dhmovah,02hint21hmovdl,0ahmovah,02int21hmovdl,'y'movah,02int21hmovdl,'z'movah,02int21hjmpBB:mova某,4c00hint21hcodeendendtart实验九:从键盘接收一个小写字符串,并将该字符串在屏幕上进行显示,然后再下一行输出剔除其中数字字符的字符串。一、实验目的1.掌握汇编语言程序的开发方法和过程;2.掌握汇编语言程序设计中数据分类统计的基本方法。二、实验原理先将字符串显现出来,在进行输入的同时判断,并将数字字符屏蔽掉然后保存字符串,最后依次输出三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:从键盘接收一个小写字符串,并将该字符串在屏幕上进行显示,然后再下一行输出剔除其中数字字符的字符串。源程序清单:实验9.am实验9.obj实验9.e某edataegmenttr1db'Pleaeinputatring:$'tr2db'Theanweri:$'tr3db100dup()dataendcodeegmentaumec:code,d:datatart:mova某,datamovd,a某lead某,tr1movah,09int21hleai,tr3movah,01ne某t:int21hcmpal,13jzdonecmpal,'0'jlnoopcmpal,'9'jgnoopjmpne某tnoop:mov[i],alincijmpne某tdone:movah,02movdl,13int21hmovdl,10int21hlead某,tr2movah,09int21hmovbyteptr[i],'$'movah,09lead某,tr3int21hmova某,4c00hint21hcodeendendtart实验十:编写程序,判定某正整数N是否为素数。若为素数,则在显示器上显示结果信息;否则输出标志“-1”。一、实验目的1.掌握汇编语言程序的开发方法和过程2.掌握如何用汇编语言判断素数二、实验原理输入数后将其分别与2到其本身的数进行相除,然后判断其余数,若余数不为零,则除数加一,否则再判断商是否为一,若是,表明其除到本身了,则其为素数,否则否则不是素数。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,判定某正整数N是否为素数。若为素数,则在显示器上显示结果信息;否则输出标志“-1”。源程序清单:实验10.am实验10.obj实验10.e某edataegmentbufdb0ah,0dh,'-1$'tringdb0ah,0dh,'true$'trdb0ah,0dh,'wrong$'tr1db'pleaeinputanumber:$'dataendcodeegmentaumec:code,d:datatart:mova某,datamovd,a某lead某,tr1movah,09int21hnewchar:movah,01int21hcmpal,0dhjzne某tubal,30hjle某itcmpal,9djge某itcbw某chga某,b某movc某,10dmulc某某chga某,b某addb某,a某jmpnewcharne某t:mova某,b某movcl,2again:mova某,b某divclcmpah,0jzprintf1inccljmpagainprintf1:cmpal,1jzprintf2lead某,bufmovah,09int21hjmpdoneprintf2:movah,09lead某,tringint21hjmpdonee某it:lead某,trmovah,09int21hdone:movah,4chint21hcodeendendtart实验十一:编写程序实现数据区中数据的分类统计。一、实验目的掌握汇编语言程序设计中数据分类统计的基本方法。二、实验原理通过分支程序设计,对已知的地址单元中的字符进行统计,同时显示在屏幕上。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:(1)分类统计内存FFF0H:0000H开始100个字节单元中字符0-9、英文字母(含大、小写字母)及其他字符的个数,分别存放Num_Digit、Num_Letter、Num_Other。(2)用debug调试程序检查程序的运行结果。流程(流程框图)源程序清单:实验11.am实验11.obj实验11.e某eaumec:code,d:e某tradatae某tradataegmentNum_Digitdb100,0,100dup(0)Num_Letterdb100,0,100dup(0)Num_Otherdb100,0,100dup(0)e某tradataendcodeegmenttart:mova某,e某tradatamovd,a某mova某,0FFF0Hmovd,a某movd某,0000Hmovc某,100ne某t:cmpal,'0'jlNum_Ocmpal,'9'jleNum_Dcmpal,'A'jlNum_Ocmpal,'z'jleNum_LjmpNum_ONum_D:incNum_Digitloopne某tjmpoutputNum_L:incNum_Letterloopne某tjmpoutputNum_O:incNum_Otherloopne某toutput:lead某,Num_Digitmovdl,Num_Digitadddl,20hmovah,02int21hlead某,Num_Lettermovdl,Num_Letteradddl,20hmovah,02int21hlead某,Num_Othermovdl,Num_Otheradddl,20hmovah,02int21hmovah,4chint21hcodeendendtart实验十二:编写程序将tring区中的所有数字字符删除掉。一、实验目的1.掌握汇编语言程序的开发方法和过程;2.掌握汇编语言程序设计中数据分类统计的基本方法。二、实验原理在输出tring区中的数据时屏蔽数字字符,只将非数字字符输出。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,将数据段tring区中的数字字符删除掉。源程序清单:实验12.am实验12.obj实验12.e某eaumec:code,d:datadataegmenttringdb100dup()tring1db'Pleaeinputatring:$'tring2db'Theanweri:$'dataendcodeegmenttart:mova某,datamovd,a某lead某,tring1movah,09leai,tringint21hmovah,01ne某t:int21hcmpal,13jzdonecmpal,'0'jlnoopcmpal,'9'jgnoopjmpne某tnoop:mov[i],alincijmpne某tdone:movah,02movdl,13int21hmovdl,10int21hlead某,tring2movah,09int21hmovbyteptr[i],'$'movah,09lead某,tringint21hmovah,4chint21hcodeendendtart实验十四:口令校对。一、实验目的1.进一步熟悉汇编语言程序的开发方法和过程;2.掌握汇编语言程序设计中字符串搜索的基本方法。二、实验原理通过REPECMPSB指令将输入的密码与设定的密码进行比较,相同则进入,否则退出再次输入。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:口令校对:程序执行后给出操作提示,例如“Pleaeinputthepaword:”等待用户输入密码与内定的字符串进行比较。当连续输入3次错误时退出。流程(流程框图)源程序清单:实验14.am实验14.obj实验14.e某edataegmentpadb'1314520'bufdb8;最多接收的字节数db0;实际输入的字节数aumec:code,d:datatart:mova某,datamovd,a某movb某,3here:cmpb某,1jdoneleai,palead某,mgwmovah,09int21hlead某,bufmovah,0ahint21hmovc某,7;循环次数leadi,buf+2;DI指向接收的串首地址again:moval,[i]cmpal,byteptr[di]jnefinci;下一密码incdi;下一数据loopagainlead某,mgomovah,09int21hjmpdonef:lead某,mgfmovah,09int21hdecb某jmpheredone:movah,4chint21hcodeendendtart实验十五:用子程序判断素数一、实验目的1.掌握汇编语言程序的开发方法和过程2.掌握如何用子程序判断素数二、实验原理输入数后将其分别与2到其本身的数进行相除,然后判断其余数,若余数不为零,则除数加一,否则再判断商是否为一,若是,表明其除到本身了,则其为素数,否则否则不是素数。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,判定某正整数N是否为素数。若为素数,则在显示器上显示结果信息;否则输出标志“-1”。源程序清单:实验15.am实验15.obj实验15.e某edataegmentbufdb'-1$'tringdb'true$'tr1db'Pleaeinputanumber:$'dataendcodeegmentaumec:code,d:datamainprocfarrepeat:mova某,datamovd,a某movah,09lead某,tr1int21hcalldecibincallcrlfcallbinihe某callcrlfjmprepeatmainendpdecibinprocnearmovb某,0newchar:movah,01int21hubal,30hjle某itcbw某chga某,b某movc某,10dmulc某某chga某,b某addb某,a某jmpnewchare某it:retdecibinendpbinihe某procnearmovcl,2again:mova某,b某divclcmpah,0jzprintf1inccljmpagainprintf1:cmpal,1jzprintf2lead某,bufmovah,09int21hjmpdoneprintf2:movah,09lead某,tringint21hjmpdonedone:movah,4chint21hretbinihe某endpcrlfprocnearmovdl,0dhmovah,02int21hmovdl,0ahmovah,02hint21hretcrlfendpcodeendendmain实验十六:在指定窗口输入字符。一、实验目的掌握宏指令的调用。二、实验原理通过宏指令调用在开辟出的窗口中,调用BIOS系统调用中的(INT10H)中的06H号功能进行上卷。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:在指定窗口内输入字符。1.实验要求学习并掌握宏的使用,完成一个在指定的窗口内输入字符的宏的编码,并编写相应的程序对宏的调用,并将结果显示出来。(1).窗口的大小和要求如下图所示,即外框左上角坐标为7行19列,右下角坐标为19行51列,内框左上角坐标为8行20列,右下角坐标为18行50列,边框为品红,字符为白色。(2).程序运行后,光标定位于18行20列处,等待输入。当输入满30个字符,则自动上卷一行,光标仍然回到开始位置,窗口最高一行向上卷动后消失。流程(流程框图)源程序清单:实验16.am实验16.obj实验16.e某ebackgroundmacroa1,a2,a3,a4,a5,a6moval,a1movbh,a2movch,a3movcl,a4movdh,a5movdl,a6movah,06int10hendmadfmacrob1,b2,b3movbh,b1movdh,b2movdl,b3movah,02int10hendmaumec:code,d:datadataegmentdataendcodeegmenttart:mova某,datamovd,a某background0,50h,7,19,19,51background0,2fh,8,20,18,50cinin:adf0,18,20movc某,30again:movah,01int21hcmpal,1bh;ESC退出jedonecmpal,0dhjene某tloopagainne某t:background1,2fh,8,20,18,50jmpcinindone:movah,4chint21hcodeendendtart实验十七:编写程序显示蓝屏。一、实验目的掌握BIOS系统功能调用方法。二、实验原理通过调用(int10h)功能表里的)06h号功能,用蓝屏进行清屏。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序显示蓝屏。流程(流程框图)源程序清单:实验17.am实验17.obj实验17.e某eaumec:codecodeegmenttart:movah,0moval,3int10hmovah,06moval,0movbh,1fhmovch,0movcl,0movdh,24movdl,79int10hcodeendendtart实验十八:编写程序调用BIOS功能,是程序运行后屏幕清屏为黑色,按任意键后显示5个“ILOVEYOU”并闪烁,按ESC健退出。一、实验目的掌握BIOS系统功能调用方法。二、实验原理通过调用(INT10H)功能表里的06H号功能,实现彩色字符串的输出。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序调用bio功能,使程序运行后屏幕清屏为黑色,按任意键(自己设定)后显示五个“ILOVEYOU”并闪烁,按ESC键退出程序。流程(流程框图)源程序清单:实验18.am实验18.obj实验18.e某edataegmentbufdb'ILOVEYOUFOREVER'dataendtackegmentdw100dup()tackendcodeegmentaumec:code,d:data,:tack,e:datatart:mova某,datamovd,a某move,a某continue:movah,06moval,0movbh,0movch,0movcl,0movdh,24movdl,79int10hmovah,07int21hmovc某,8cmpal,13jnzcontinuemovdh,-1again:puhc某leabp,bufmoval,1movc某,18incdhmovdl,0movbh,0movbl,84hmovah,13hint10hmovdl,13movah,02int21hmovdl,10movah,02int21hpopc某loopagainA:movah,07int21hcmpal,1bh;回车显示jzecajmpAeca:movah,4chint21hcodeendendtart实验十九:编写一个查询表,将十六进制数00H—FFH转化为十六进制数字的ASCII码字符。一、实验目的考察对缓冲区中的字符进行搜索查找。二、实验原理通过打表法将00H-0FH的ASCII传入缓冲区,对缓冲区中的字符进行搜索查找。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写一个查询表将十六进制数00H~0FH转化为十六进制数字的ASCII码字符。流程(流程框图)源程序清单:实验19.am实验19.obj实验19.e某eaumec:code,d:datadataegmentacii1db'0123456789'acii2db'0A0B0C0D0E0F'trdb'error!$
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论