文档详情

 (2014微机原理及接口技术实验指导书.doc

发布:2016-12-17约2.04万字共54页下载文档
文本预览下载声明
实验一 系统认知实验 实验目的:了解汇编语言的设计、编写和调试程序的方法,掌握DEBUG的使用。 实验设备:装有DOS系统和MASM5.0的微机一台,或TDN86/88微机原理教学实验系统一台。 实验内容:编程实现在屏幕上显示一个大写字母“A”或字符串“HOW ARE YOU?”,用DEBUG调试程序 实验要求: 1、上机前做好充分准备,包括源程序清单、调试步骤等; 2、用DEBUG来调试程序,熟悉DEBUG的使用。 实验步骤: 1、编写程序并输入,检查无误后,经汇编、连接后运行,用DEBUG装入。 2、用U命令反汇编程序,应用R、G等命令,观看运行情况。 3、用D、E、A等命令查看、修改源数据,用G命令查看运行结果。 4、用Q命令退出DEBUG 上机过程 1.建立源文件 使用EDIT软件,得到扩展名为ASM的汇编语言源程序文件。(扩展名 .asm 勿忘加!) 2.汇编源程序 使用汇编程序MASM对源程序进行汇编,生成OBJ、LST和CRF文件(后两种一般不需要,可直接回车)。如程序有错,可以根据提示信息,重新编辑、汇编源程序,直到没有严重错误为止。 3.连接程序 使用连接程序LINK,对汇编程序产生的目标文件进行连接,产生可执行的程序EXE。 4.调试或运行程序 具体过程如下: 1. 编辑 C:\MASMEDIT 文件名.ASM 2. 汇编 C:\ MASM masm 文件名.ASM 3. 连接 C:\ MASM link 文件名.obj 4. 调试 C:\ MASM debug 文件名.exe -U 反汇编,记下程序首地址和结束地址 -D 段地址:偏移地址 察看内存单元内容 -E 段地址:偏移地址 修改内存单元内容:空格修改下一个, 回车结束修改 -G=起始地址 结束地址 运行程序 参考源程序: (1) 屏幕上显示一个大写字母“A” STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV AH, 02H MOV DL,41H INT 21H INT 20H CODE ENDS END START (2) 屏幕上显示字符串“HOW ARE YOU?” DATA SEGMENT BUF DB HOW ARE YOU?$ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS END START 实验二 分支程序设计实验 一、实验目的 1.掌握分支程序的结构。 2.掌握分支程序的设计、调整方法。 二、实验设备 TDN86/88 教学实验系统一台。 三、实验内容及步骤 设计一数据块间的搬移程序 设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成 为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,如图3-1 所示。 图3-1 源数据块与目的数据块在存储中的位置情况 对于两个数据块分离的情况,如图3-1(a),数据的传送从数据块的首地址开始,或从数据块的末地址开始均可。但是对于有重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭到破坏,可有如下结论: 当源数据块首地址<目的块首地址时,从数据块末地址开始传送数据,如图3-1(b)所示。 当源数据块首地址>目的块首地址时,从数据块首地址开始传送数据,如图3-1(c)所示。 参考流程:如图3-2所示。 图3-2 程序流程图 实验程序 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV CX, 0010H MOV SI, 3100H MOV DI, 3200H CMP SI, DI JA A2 ADD SI, CX ADD DI, CX DEC SI DEC DI A1: MOV AL, [SI] MOV [DI], AL DEC SI DEC DI DEC CX JNE A1 JM
显示全部
相似文档