实验一:一、实验目的:1.学习汇编语言源程序的编辑、汇编、连接、运行全过程。2.了解汇编程序、连接程序、DOS系统装入和返回功能。掌握MASM、LINK的应用。3.掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。4.掌握DOS系统功能调用的基本方法。二、实验原理通过调用(INT21H)表中的01h号功能号从键盘输入一个字符并回显到视频显示器上三、实验内容及算法流程、源程序清单实验内容:编写程序,从键盘输入一个字符并回显到视频显示器上。源程序清单:实验1.asm实验1.obj实验1.execodesegmentassumecs:codestart:movah,1int21hmovah,4chint21hcodeendsendstart实验二:编写程序,显示一个字符Q一、实验目的1、学习汇编语言源程序的编辑、汇编、连接、运行全过程。2、了解汇编程序、连接程序、DOS系统装入和返回功能。掌握MASM、LINK的应用。3、掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。4、掌握DOS系统功能调用的基本方法。二、实验原理通过调用(INT21H)表中的02h号功能显示输出一个字符Y。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,显示输出一个字符Q。源程序清单:实验2.asm实验2.obj实验2.execodesegmentassumecs:codestart:movah,02movdl,'Q'int21hmovah,4chint21hcodeendsendstart实验三:编写程序,在屏幕上显示输出“IloveDOTA”一、实验目的1、学习汇编语言源程序的编辑、汇编、连接、运行全过程。2、了解汇编程序、连接程序、DOS系统装入和返回功能。掌握MASM、LINK的应用。3、掌握汇编语言程序结构,熟悉汇编语言的一些常用语法规则,初步掌握汇编语言的开发过程。4、掌握DOS系统功能调用的基本方法。二、实验原理考察通过调用(INT21H)表中的0ah号功能显示输出字符串三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,在屏幕上显示输出‘IloveDOTA。源程序清单:实验3.asm实验3.obj实验3.exedatasegmentbufdb'IloveDOTA.$'dataendscodesegmentassumecs:codeds:datastart:movax,datamovds,axleadx,bufmovah,9int21hmovah,4chint21hcodeendsendstart实验四:实验名称:编写一个程序,要求从键盘输入一个小写字母,以其大写字母形式显示,否则显示ERROR。一、实验目的综合转移指令与字符串显示操作。二、实验原理对输入的字符进行比较,若为小写字母的字符,则通过02h号功能显示该字符的大写形式,否则通过JMP跳转指令输出字符串。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写一个汇编语言程序,要求从键盘输入一个小写字母,以其大写字母形式显示,否则显示error。流程(流程框图)源程序清单:实验4.asm实验4.obj实验4.exedatasegmentbufdb'ERROR$'dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovah,01int21hpushaxmovah,02movdl,0ahint21hpopaxcmpal,'a'jbAcmpal,'z'jaAsubal,20hmovdl,almovah,02int21hjmpBA:leadx,bufmovah,9int21hB:movah,4chint21hcodeendsendstart实验五:编写程序在屏幕上显示10个“T”。一、实验目的通过LOOP循环语句控制输出,熟悉LOOP语句的用法。二、实验原理通过LOOP循环语句置CX寄存器的值为10,并在循环体内调用02H功能,进行字符输出。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,在屏幕上输出10个“T”。源程序清单:实验5.asm实验5.obj实验5.execodesegmentassumecs:codestart:movcx,10again:movdl,'T'movah,02int21hloopagainmovah,4chint21hcodeendsendstart实验六:从键盘输入一个字符,如果是x则显示10个*,如果是y,则显示10个@如果是z,则显示10个$,否则退出程序。一、实验目的主要考察JMP转移指令以及条件转移指令。二、实验原理对输入的字符进行比较,如果满足相应的条件则根据条件转移指令转移到不同的地方输出不同的字符。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:从键盘输入一个字符,如果是x则显示10个*,如果是y,则显示10个@如果是z,则显示10个$,否则退出程序。源程序清单:实验6.asm实验6.obj实验6.execodesegmentassumecs:codestart:movcx,10movah,01int21hcmpal,'x'jzAcmpal,'y'jzBcmpal,'z'jzCjmpDA:movdl,'*'movah,02int21hloopAjmpDB:movdl,'@'movah,02int21hloopBjmpDC:movdl,'$'movah,02int21hloopCint21hD:movah,4chint21hcodeendsendstart实验七:从键盘输入一个字符串,要求将其转换为大写字符串显示。一、实验目的考察DOS系统调用里的02H号功能进行字符串输入操作。二、实验原理通过调用DOS系统调用里的02H号功能进行字符的输入操作,将其中的每个字符先进行判断,合乎要求的减去20h然后存储,最后对其输出。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:从键盘输一个字符串,要求将其转换为大写字符串显示。流程(流程框图)源程序清单:实验7.asm实验7.obj实验7.exeassumecs:code,ds:datadatasegmentstringdb100dup(?)dataendscodesegmentstart:movax,datamovds,axleasi,stringmovah,01next:int21hcmpal,13jzdonecmpal,'a'jlnoopsubal,20hnoop:mov[si],alincsijmpnextdone:movah,02movdl,13int21hmovdl,10int21hmovbyteptr[si],'$'movah,09leadx,stringint21hmovax,4c00hint21hcodeendsendstart实验八:编写程序从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。一、实验目的通过条件转移指令产生不同的分支。二、实验原理通过对输入的字符进行比较,若为小写字母字符,则先将该字符的ASCII码减去1输出,然后依次加上1后在输出,一共输出3个字符即可。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,从键盘接受一个小写字母,然后找出他的前导字符和后续字符,再按顺序显示这三个字符。流程(流程框图)源程序清单:实验8.asm实验8.obj实验8.exeassumecs:code,ds:datadatasegmentbufdb'Pleaseinputonecharacter:$'strdb'ERROR!!!!$'dataendscodesegmentstart:movax,datamovds,axleadx,bufmovah,09int21hmovah,07int21hcmpal,'a'jzCcmpal,'z'jzDcmpal,'b'jbAcmpal,'y'jaAmovdl,almovah,02int21hmovbl,almovdl,0dhmovah,02hint21hmovdl,0ahmovah,02int21hmoval,blsubal,1hmovdl,almovah,02int21haddal,1hmovdl,almovah,02int21haddal,1hmovdl,almovah,02int21hjmpBA:leadx,strmovah,09int21hjmpBC:movdl,almovah,02int21hmovdl,0dhmovah,02int21hmovdl,0ahmovah,02int21hmovdl,'a'movah,02int21hmovdl,'b'movah,02int21hjmpBD:movdl,almovah,02int21hmovdl,0dhmovah,02hint21hmovdl,0ahmovah,02int21hmovdl,'y'movah,02int21hmovdl,'z'movah,02int21hjmpBB:movax,4c00hint21hcodeendsendstart实验九:从键盘接收一个小写字符串,并将该字符串在屏幕上进行显示,然后再下一行输出剔除其中数字字符的字符串。一、实验目的1.掌握汇编语言程序的开发方法和过程;2.掌握汇编语言程序设计中数据分类统计的基本方法。二、实验原理先将字符串显现出来,在进行输入的同时判断,并将数字字符屏蔽掉然后保存字符串,最后依次输出三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:从键盘接收一个小写字符串,并将该字符串在屏幕上进行显示,然后再下一行输出剔除其中数字字符的字符串。源程序清单:实验9.asm实验9.obj实验9.exedatasegmentstr1db'Pleaseinputastring:$'str2db'Theansweris:$'str3db100dup(?)dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axleadx,str1movah,09int21hleasi,str3movah,01next:int21hcmpal,13jzdonecmpal,'0'jlnoopcmpal,'9'jgnoopjmpnextnoop:mov[si],alincsijmpnextdone:movah,02movdl,13int21hmovdl,10int21hleadx,str2movah,09int21hmovbyteptr[si],'$'movah,09leadx,str3int21hmovax,4c00hint21hcodeendsendstart实验十:编写程序,判定某正整数N是否为素数。若为素数,则在显示器上显示结果信息;否则输出标志“-1”。一、实验目的1.掌握汇编语言程序的开发方法和过程2.掌握如何用汇编语言判断素数二、实验原理输入数后将其分别与2到其本身的数进行相除,然后判断其余数,若余数不为零,则除数加一,否则再判断商是否为一,若是,表明其除到本身了,则其为素数,否则否则不是素数。三、实验内容及算法流程(流程框图)、源程序清单(要求在重要语句后写出注释)实验内容:编写程序,判定某正整数N是否为素数。若为素数,则在显示器上显示结果信息;否则输出标志“-1”。源程序清单:实验10.asm实验10.obj实验10.exedatasegmentbufdb0ah,0dh,'-1$'stringdb0ah,0dh,'true$'strdb0ah,0dh,'wrong$'str1db'pleaseinputanumber