东南大学微机实验报告一课案 下载本文

《微机实验及课程设计》实验报告 学号

东南大学

《微机实验及课程设计》

实验报告

实验一

指令与汇编语言基础

实验二 汇编语言程序设计

姓 名: 学 号:

专 业: 实 验 室: 计算机硬件技术 实验时间: 2016年04月06日 报告时间: 2016年04月15日 评定成绩: 审阅教师:

一. 实验目的与内容 实验一指令与汇编语言基础

0

《微机实验及课程设计》实验报告 学号

一、实验目的

1)了解命令行操作基本方式和基本命令,掌握 PC 环境下命令行方式的特点; 2)掌握汇编语言程序指令编辑、宏汇编、连接、运行基本概念;

3)熟练掌握动态调试程序 TD 的常用命令和窗口功能,学会用 TD 调试程,修改环境; 4)学会利用 DEBUG 或 TD 检查认识指令功能的正确方法 二、实验内容

(1) 掌握进入全屏命令行方式、修改环境的方法; (2) 确定源程序的存放目录,构建个人实验环境

(3) 建立、编辑汇编源程序,选择程序样本,构建典型的汇编程序框架,包括基本的数据段、堆栈段和 代码段,编写程序实现如下功能:在 data1 和 data2 两个存储单元中分别存放两个十六进制数,将它们相加后所得值存入 data3 中。

(4) 用汇编工具(MASM/TASM.EXE)汇编源程序产生 OBJ 目标文件将所要编译的源程序文件(add.asm)放到带汇编工具的文件夹中,在全屏命令行模式下,进入该文件夹,输入 tasm add.asm,回车后即可编译产生 OBJ 目标文件。

(5) 用链接程序(LINK/TLINK.EXE)产生 EXE 可执行文件产生 OBJ 目标文件后,继续输入:tlink add.obj,回车后即可产生 EXE 可执行文件。

(6) 用调试工具软件(TD.EXE/Debug.com)调试执行程序 ① 在 Windows 中启动 TD

a. 仅启动 TD 而不载入要调试的程序

双击 TD.EXE 文件名,Windows 就会打开一个 DOS 窗口并启动 TD。启动 TD 后会显示一个版权对话框,这时按回车键即可关掉该对话框。

b. 启动 TD 并同时载入要调试的程序

把要调试的可执行文件拖到 TD.EXE 文件名上,Windows 就会打开一个 DOS 窗口并启动 TD,然后 TD 会把该可执行文件自动载入内存供用户调试。若建立可执行文件时未生成符号名表,TD 启动后会显示 “Program has no symbol table”的提示窗口,这时按回车键即可关掉该窗口。

② 观察 CPU 寄存器、存储器环境

TD 启动后呈现的是一个具有窗口形式的用户界面,见图 3.1-2,称为 CPU 窗口。 ③ 单步、断点运行,观察中间结果,完成正常执行

TD 功能键 F7 为跟踪进入(对 CALL 指令将跟踪进入子程序) ,F8 为单步跟踪(对 CALL 指令将执行完子程序返回后才停下),F2 为在当前光标处设置/清除断点。通过单步,断点运行中观察数据区、各个寄存器值的变化,以验证程序运行是否正确。

④ 修改当前运行环境,直接编写程序片断,验证指令功能 a. 修改寄存器(AX、BX、CX、DX、SI、DI、BP、SP),并观察;修改段寄存器。 b. 修改存储器,并指定不同存储段。

c. 修改 CS:IP,单步运行指定指令(F7 或 F8),观察指令运行结果。

d. 将光标放置在 TD 窗口的代码区右击,可显示代码区的局部菜单,选择相应功能进行操作。 ⑤ 重点解决段存储结构和数据变量的定义与访问

访问数据段中具体位置的值时,可将光标放置在数据区,右击产生数据区菜单。

实验二 汇编语言程序设计

一、实验目的

1)进一步熟悉汇编语言程序的编辑、宏汇编、链接、运行基本概念;

2)熟练掌握动态调试程序 TD/DEBUG 的常用命令或窗口功能,学会用 TD/DEBUG 调试程序,修改数据和寄存器等环境;

3)熟悉掌握汇编语言程序的典型数据结构设计、典型程序流控制方法,了解 DOS/BIOS 功能调用的基

1

《微机实验及课程设计》实验报告 学号

本方法。

二、实验内容

(1)编写程序实现如下功能:

① 从键盘输入任意字符串后,存入自定义存储单元,判断处理后将字符串中小写字母转换为大写字母(其他字符不变)并按原顺序将这些字符在屏幕上显示出来。

② 从键盘输入在 0~65535 之间的十进制数,将其转换为十六进制数并在屏幕中显示出来,要求判断输入字符串是否为在 0~65535 之间的十进制数。

(2)复习 TD 各种操作,并用 DEBUG 调试程序,学会基本命令操作,并通过单步、设置断点等方法观察中间结果,完成正常运行。

命令行方式下直接键入 debug myfile.exe 回车(myfile 为待调试可执行程序),进入调试方式(显示-),键入 H 回车显示全部命令、格式和功能。常用命令有:U(反汇编)、A(汇编输入指令程序)、R(寄存器显示/修改)、I(端口输入)、O(端口输出)、D(显示数据)、E(修改数据)。

除资源修改管理功能外,重点应用 T(单步)、Tn(执行n 步)、 P(过程/指令)、G××××(从当前 CS:IP执行到断点 ×××× )或 G= ×××× 1 ×××× 2(从 ×××× 1 执行到 ×××× 2 断点)调试实验程序。

二. 基本实验原理

(1)运行汇编程序必备的软件环境:DOS操作系统,汇编软件系统。

汇编系统盘应包含如下文件:

MASM(TASM) 宏汇编程序文件 LINK(TLINK) 连接程序文件 EDIT 文本编辑程序

用户通过屏幕编辑程序EDIT(各功能)键入源程序,检查无误,可将源程序存到汇编系统盘上,该程序的扩展名为·ASM。

(2) MASM汇编程序:格式、宏、模块浮动汇编(相对关系)、段、变量待定位 执行宏汇编程序MASM----生成目标文件.OBJ,辅助文件LST,CRF。

用汇编语言编写的源程序必须是一个完整的源程序,才能经过宏汇编程序MASM的汇编,生成一个目标程序。为了完成汇编任务,汇编程序一般采用两遍扫描的方法,第一遍扫描源程序产生符号表、处理伪指令等,第二遍扫描产生机器指令代码、确定数据等。

OBJ将源程序的操作码部分变为机器码,但地址操作数是可浮动的相对地址,而不是实际地址,因此需经LINK连接文件进行连接才能形成可执行文件。

LST是列表文件把源程序和目标程序列表,以供检查程序用。

CRF是交叉索引文件,对源程序所用的各种符号进行前后对照的文件

三. 方案实现与测试

实验一指令与汇编语言基础

1)将源程序add.asm放入带汇编工具的文件夹中,即含有汇编工具(MASM.EXE)和链接工具(LINK.EXE)的文件夹。

2