实验报告样本_表格类模板_表格模板_实用文档
试验报告样本_表格类模板_表格模板_好用文档 东南高校 《微机系统与接口 ( 含试验)》 试验报告 试验一 指令与汇编语言基础 试验二 汇编语言程序设计 姓 名: 贺陈锴 学 号: 61013222 专 业: 电类强化 2 班 实 验 室: 计算机硬件技术 试验时间: 2015 年 04 月 6 日 报告时间: 2015 年 04 月 12 日 评定成果: 批阅老师: 一. 试验目 的与内容 试验目的: 1、 了解吩咐行操作基本方式和基本吩咐, 驾驭 PC 环境下吩咐行方式的特点。 2、 驾驭汇编语言程序指令编辑基本框架程序, 完成宏汇编、 连接操作, 实现运行; 3、 娴熟驾驭动态调试程序 TD/DEBUG 常用吩咐或窗口功能, 学会动态调试程序的基本方法。 4、 利用框架程序检验 8086/8088 汇编语言(MASM/TASM) 的各种指令性与指示性操作功能和语法, 并了解它们与目标代码之间的关系; 检验典型 DOS/BIOS 功能调用, 实现简洁的人机交互功能。 基本试验内容: (1) 驾驭进入全屏吩咐行方式、 修改环境的两种方法 (2) 确定源程序的存放书目, 构建个人试验环境; (3) 建立、 编辑汇编源程序, 构建典型的汇编程序框架; (4) 用汇编工具(MASM/TASM. ) 汇编源程序产生 OBJ 目标文件; (5) 用链接程序(LINK/TLINK. ) 产生 可执行文件; (6) 用调试工具软件(Debug. / TD. ) 调试执行程序; 1) 视察 CPU 寄存器、 存储器环境; 2) 单步、 断点运行, 视察中间结果; 3) 完成正常执行; 4) 修改中间运行环境(寄存器, 存储器); 5) 干脆编写程序片断, 验证指令功能 试验内容一: 编辑(EDIT) : 基本的汇编语言格式: 段, 变量, 过程; 汇编(MASM) : 产生. LST 文件;链接(LINK) . MAP 文件(调试视察源-目标关系) 多模块程序, . LST, . MAP 文件(调试视察源-目标关系) DOS/BIOS 调用功能(I/O) 调试验证 INT 21H / INT 16H TASM/zi TLINK/v TD 带符号(Symble) 调试(视察源-目标关系) 试验内容二: 1. 输入字符串,作大小写变换,显示结果 2. 输入十进制数 N(=65535), 转换成十六进制数,显示在屏幕上(有检错功能) 3. 改写成子程序结构 4. N=12 时用递归算法实现阶乘; 5. 采纳双模块结构;采纳软件中断调用(INT 80H, 用 DEBUG 跟踪调试) 二. 基本试验原理 运行汇编程序必备的软件环境: DOS 操作系统; 汇编软件系统。 汇编系统盘应包含如下文件: MASM 宏汇编程序文件 (TASM) LINK 连接程序文件 (TLINK) CREF 索引程序文件(也可不用) EDIT 文本编辑程序(或 PE 等文本编辑程序) 用户通过屏幕编辑程序 EDIT(各功能) 键入源程序, 检查无误, 可将源程序存到汇编系统盘上, 该程序的扩展名为 ASM。 (XXX. ASM) MASM 汇编程序: 格式、 宏、 模块 èOBJ: 浮动汇编(相对关系)、 段、 变量待定位 执行宏汇编程序 MASM----生成目标文件. OBJ, 协助文件 LST, CRF(可选) 用汇编语言编写的源程序必需是一个完整的源程序, 才能经过宏汇编程序 MASM 的汇编, 生成一个目标程序。 为了完成汇编任务, 汇编程序一般采纳两遍扫描的方法, 第一遍扫描源程序产生符号表、 处理伪指令等, 其次遍扫描产朝气器指令代码、 确定数据等。 OBJ 将源程序的操作码部分变为机器码, 但地址操作数是可浮动的相对地址, 而不是实际地址, 因此需经LINK 连接文件进行连接才能形成可执行文件。 8086 功能结构图 三. 方案实现与测试 试验一: 调试 num 程序 1、 运用 edit 编辑 asm 文件: 键入 MASM 则调入宏汇编程序: num为源程序名(num.asm) , 方括号中是机器规定的默认文件名, 默认只生成(num. obj) 文件。 假如用户须要列表文件(. LST) 和交叉索引文件(. CRF) , 则可在[NUL.LST ]和[NUL.CRF]后键入文件名。 同样, 根据下图中的方法, 通过连接(LINK) , 可以生成(num. map) 文件: 列表文件(.LST) 是通过汇编程序(MASM) 产生的, 可以在DOS 状态下用TYPE吩咐显示或打印该文件, 以便分析调试源程序。 列表程序由三部分组成: (1) 源程序和目标程序清单 (2) 段信息汇总表 (3) 符号汇总表 2、 多模块程序 将以上的 num 和一个 add. asm 汇编后进行连接, 并用 type 查看 numadd. map 中的内容: 可以看出, 由连接程序LINK产生的扩展名为. MAP文件, 它事实上是连接程序的列表文件, 它给出了每个段的地址安排状况及长度。 而且由于本例是多模块结构, 事实上运用了两个代码段, 因而图中显示了两个CODE段的地址范围, 但是入口地址entry point只有一个。 4、 3、 DOS/BIOS 调用功能(I/O) 调试验证 用 TD 打开 num 文件, F7 单步调试, 视察执行 int 21h 中断时各寄存器的内容变更状况: 5、 TASM/zi TLINK/v TD 带符号(Symble) 调试(视察源-目标关系) 试验二: 1、 大小写转换运行结果为: 正确 2、 输入十进制数 N(=65535), 转换成十六进制数,显示在屏幕上(有检错功能): 正确 2、 改写成子程序结构: loop1: mov output, 0000h mov dx, offset string1 mov ah, 09h int 21h mov dx, offset mov