欢迎来到天天文库
浏览记录
ID:46494630
大小:111.50 KB
页数:13页
时间:2019-11-24
《80X86汇编语言程序设计实验指导书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、80X86汇编语言程序设计实验指导书80X86汇编语言程序设计实验指导书中南民族大学计算机科学学院2006年9月目录实验一实验的基本要求与方法实验二实验三实验四实验五实验六实验七实验八附录A附录B附录C附录D13循环程序设附录E顺序程序设计分支程序设计18计24子程序设计31串操作指令的使用36位运算指令的使用41宏汇编技术45MASM6.X53Windbg的使用54I/O宏说明57汇编指令总汇73流程图规范901实验一实验的基本要求与方法1.1实验目的与要求1.1.1实验目的实验是掌握汇编语言程序设计的步骤,学习使80X86汇编语言程序设计的基
2、本方法和技能,熟练掌握用汇编语言设计、编码、调试和运行程序的方法,养成良好的程序设计习惯,为后续课程和将来相关的项目开发打下坚实的基础。1.熟练操作宏汇编的开发环境,熟悉汇编语言的编译工具(MASM6.il)及调试器(Windbg)的使用。1.掌握汇编语言的寻址方式和常用指令。2.掌握汇编语言基本的程序设计方法和调试手段。3.学握子程序和宏指令的设计和调试手段。1.1.2实验要求1.上机前应做好充分的准备。对选定的实验题耍先进行设计包括程序框图、数据结构以及算法;上机之前先编好程序代码,并进行认真地静态检查,减少错误的发生,同时还有预先估计程序运
3、行的结果或结果范围,做到心屮有数。2.上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。在程序的调试过程中,有意识的学习及掌握Windbg程序的各种功能,以便掌握程序的调试方法和技巧。不互相抄袭,应自己动手按自己的算法编制程序,调试通过。3.下机后要对实验结果进行整理,分析程序调试过程中所出现的各种情况,对未通过的程序更好认真分析原因,总结经验教训。4.每个程序完成后应写出实验报告,实验报告的要求如下:(1)本次实验的目的及要求,实验内容。(2)设计说明:用来说明程序的
4、功能和结构,它包括:程序名、功能、原理及算法说明、数据结构及主要符号名说明等。(1)程序框图:根据设计思想给出规范的程序流程图,流程图规范参看附录E。(2)调试说明:总结经验提高编程及调试能力。它包括:调试情况,如上机时遇到的问题及解决的办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会等。(5)使用说明:程序提供给用户使用时必须作出的说明。女山程序的使方法,调用方式,操作步骤等;耍求输入信息的类型及格式;出错信息的含义及程序的使用范围等。(6)程序清单。11.2实验方法例1.1求两数之和。试编
5、写一程序,输出提示信息,从键盘输入两个数numberl和number2,求它们的之和并显示结果。1.进入windows下的DOS命令行环境鼠标点击Windows系统的“开始”一一>“运行”,输入“cmd”回车后(如图1.1),进入windows下的DOS命令行环境(图1.2)0图1.1图1.2DOS命令行环境这里设定所需软件都安装在C盘的masm日录下。使用DOS的CD命令进入masm目录(图1.3)o输入:cdc:masm(回车)2图1.3进入汇编程序目录1.调用文本编辑程序EDIT建立汇编源文件(后缀名为.asm)在当前目录,输入:e
6、ditexample.asm后就可进入编辑环境(图1.4)。图1.4EDIT编辑环境也可以用其他编辑程序如记事本等来建立源程序(建议不耍用officeword)o建议以example.asm为文件名的源文件如图1.5。**********;Exampleassemblylanguageprogram-addstwonumbers;Author:R.Detmer;Date:revised7/97386.MODELFLATExitProcessPROTONEAR32stdcall,dwExitCode:DWORD;INCLUDEio.h;header
7、fileforinput/output3crEQUOdh;carriagereturncharacterLfEQUOah;linefeed;.STACK4096;reserve4096-bytestack;・DATA;reservestoragefordatanumberlDWORD?number2DWORD?promptlBYTE"Enterfirstnumber:",0prompt2BYTE"Entersecondnumber:"z0stringBYTE40DUP(?)labellBYTEcrzLfz"Thesumis"sumBYTE11DU
8、P(?)BYTEcr,Lf,0outputlabell.CODEoutputpromptl;promptforfirstnumberin
此文档下载收益归作者所有