80X86汇编语言程序设计实验指导书.doc
文本预览下载声明
80X86汇编语言程序设计
实验指导书
中南民族大学计算机科学学院
2008年3月
目 录
实验一 实验的基本要求与方法 1
实验二 顺序程序设计 13
实验三 分支程序设计 18
实验四 循环程序设计 24
实验五 子程序设计 31
实验六 串操作指令的使用 36
实验七 位运算指令的使用 41
附录A MASM 6.X 45
附录B Windbg的使用 46
附录C I/O宏说明 49
附录D 汇编指令总汇 65
附录E 流程图规范 82
实验一 实验的基本要求与方法
1.1 实验目的与要求
1.1.1 实验目的
实验是掌握汇编语言程序设计的步骤,学习使80X86汇编语言程序设计的基本方法和技能,熟练掌握用汇编语言设计、编码、调试和运行程序的方法,养成良好的程序设计习惯,为后续课程和将来相关的项目开发打下坚实的基础。
熟练操作宏汇编的开发环境,熟悉汇编语言的编译工具(MASM6.11)及调试器(Windbg)的使用。
掌握汇编语言的寻址方式和常用指令。
掌握汇编语言基本的程序设计方法和调试手段。
掌握子程序和宏指令的设计和调试手段。
1.1.2 实验要求
上机前应做好充分的准备。对选定的实验题要先进行设计包括程序框图、数据结构以及算法;上机之前先编好程序代码,并进行认真地静态检查,减少错误的发生,同时还有预先估计程序运行的结果或结果范围,做到心中有数。
上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。在程序的调试过程中,有意识的学习及掌握Windbg程序的各种功能,以便掌握程序的调试方法和技巧。不互相抄袭,应自己动手按自己的算法编制程序,调试通过。
下机后要对实验结果进行整理,分析程序调试过程中所出现的各种情况,对未通过的程序更好认真分析原因,总结经验教训。
每个程序完成后应写出实验报告,实验报告的要求如下:
本次实验的目的及要求,实验内容。
设计说明:用来说明程序的功能和结构,它包括:程序名、功能、原理及算法说明、数据结构及主要符号名说明等。
程序框图: 根据设计思想给出规范的程序流程图,流程图规范参看附录E。
调试说明:总结经验提高编程及调试能力。它包括:调试情况,如上机时遇到的问题及解决的办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会等。
使用说明:程序提供给用户使用时必须作出的说明。如:程序的使方法,调用方式,操作步骤等;要求输入信息的类型及格式;出错信息的含义及程序的使用范围等。
程序清单。
1.2 实验方法
例1.1 求两数之和。
试编写一程序,输出提示信息,从键盘输入两个数number1和number2,求它们的之和并显示结果。
进入windows下的DOS命令行环境
鼠标点击Windows系统的“开始”――“运行”,输入“cmd”回车后(如图1.1),进入windows下的DOS命令行环境(图1.2)。
图1.1
图1.2 DOS命令行环境
这里设定所需软件都安装在C盘的masm目录下。使用DOS的CD命令进入masm目录(图1.3)。
输入: cd c:\masm (回车)
图1.3 进入汇编程序目录
调用文本编辑程序EDIT建立汇编源文件(后缀名为.asm)
在当前目录,输入:edit example.asm
后就可进入编辑环境(图1.4)。
图1.4 EDIT编辑环境
也可以用其他编辑程序如记事本等来建立源程序(建议不要用office word)。建议以example.asm为文件名的源文件如图1.5。
;*********************************************************************
; Example assembly language program -- adds two numbers
; Author: R. Detmer
; Date: revised 7/97
;
.386
.MODEL FLAT
;
ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
;
INCLUDE io.h ; header file for input/output
;
cr EQU 0dh ; carriage return character
Lf EQU 0ah ; line feed
;
.STACK 4096 ; reserve 4096-byte stack
;
.DATA
显示全部