资源描述:
《汇编语言程序设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、WORD格式可编辑实验报告实验名称汇编语言程序设计
2、
3、专业班级:信息安全学号:姓名:专业知识整理分享WORD格式可编辑实验一汇编语言上机过程和Debug常用调试命令一.实验目的:学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。二.实验题目:熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。在调试过程中,学习及掌握debug程序的各种操作命令。三.问题描述:试编写一程序:比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘match’;否则,显示‘nomatch’。四.方法说明:a)使用ws
4、、tc或EDIT编辑程序来建立源文件,然后存盘,使系统返回DOS。b)用汇编程序masm(或asm)对源文件汇编产生目标文件obj如:汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。c)用连接程序link产生执行文件EXE.d)执行程序,可直接从DOS执行程序。e)使用debug程序调试程序的方法。五.实验步骤:1.调用字处理程序EDIT建立以sample.asm文件datareasegmentstring1db‘movethecursorbackward.’string2db‘movethecursorbackward.’mess1db‘Match..’,13,10
5、,’$’mess2db‘Nomatch!..’,13,10,’$’datareaendsprognamsegmentmainprocfarassumecs:prognam,ds:datarea,es:datareastart:pushdssubax,axpushaxmovax,datareamovds,axmoves,axleasi,string1leadi,string2专业知识整理分享WORD格式可编辑cldmovcx,25repzcmpsbjzmatchleadx,mess2jmpshortdispmatch:leadx,mess1disp:movah,09int21hre
6、tmainendpprognamendsendstart1.对源文件汇编产生目标文件objD:masm文件名。Asm3.用连接程序link产生执行文件exeD:link文件名。Obj4.执行程序D:文件名5.使用debug程序调试程序的方法。d>debug文件名.exe_1.用G命令运行程序2.用U命令显示程序3.学会设置断点。4.学会查看数据段的内容情况D5.用E命令修改数据区的字符串。6.用A命令把数据区的内容恢复原状7.T命令逐条跟踪程序的执行8.学会使用F命令、R命令、Q命令等等五、实验总结第一次进行汇编实验,主要是学习程序设计的基本方法和技能,熟练掌握用汇编语言设
7、计、编写、调试和运行程序的方法,只有多上机练习,才能更好的掌握汇编语言程序设计的思想。专业知识整理分享WORD格式可编辑实验二循环程序设计1循环结构是控制重复执行某一程序段的基本程序结构.在汇编语言程序设计中,循环程序的地位也是极为重要,从本质上来看,循环程序结构是分支程序结构的一种手特殊形式,也是使用条件转移指令来控制执行循环的.一.实验目的:学会用循环结构进行程序编程。二.实验题目:设计一个按表格形式显示ASC
8、
9、码为10H—100H的所有字符的程序。三.实验要求:按15行*16列的表格形式显示ASC
10、
11、码为10H----100H的所有字符,即以行为主的顺序及ASC
12、
13、码递增
14、的次序依次显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白符(ASC
15、
16、为0)隔开。四.方法说明:(1)显示每个字符可使用功能号为02的显示输出功能调用,使用方法如下:movah,02hmovdl,0AHint21h本题中可把dl初始化为10H,然后不断使其加1(用INC指令)以取得下一个字符的ASC
17、
18、码。(2)显示空白符时,用其ASC
19、
20、码0置入dl寄存器,每行结束时,用显示回车(ASC
21、
22、为0dh)和换行符(ASC
23、
24、为oah)来结束本行并开始下一行。(3)由于逐个显示相继的ASC
25、
26、字符时,需要保存并不断修改dl寄存器的内容,而显示空白、回车、换行符时也
27、需要使用dl寄存器,为此可使用堆栈来保存相继的ASC
28、
29、字符。具体用法是:在显示空白或回车,换行符前用指令pushdx把dl的内容保存到堆栈中去。在显示空白或回车,换行符后用指令popdx恢复dl寄存器的原始内容。五、实验代码stacksegmentdb100dup(?)stackends专业知识整理分享WORD格式可编辑codesegmentassumecs:code,ss:stackstart:movdl,10hmovcl,0fhloopc:movah,02hmoval,dl