东南大学微机实验 实验一、二 联系客服

发布时间 : 星期二 文章东南大学微机实验 实验一、二更新完毕开始阅读dfd935f5f90f76c661371a17

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

《微机实验及课程设计》

实验报告

实验一 汇编语言与程序调试基础

实验二汇编语言程序设计

姓 名:韩文凯 学 号: 61010128

专 业: 电类强化班 实 验 室:计算机硬件技术

实验时间:2012年04月3、10日报告时间: 2012年04月10日 评定成绩: 审阅教师:

0

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

一、 实验目的

1) 了解命令行操作基本方式和基本命令,掌握PC环境下命令行方式的特点。 2) 掌握汇编语言程序指令编辑基本框架程序,完成宏汇编、连接操作,实现运行; 3) 熟练掌握动态调试程序TD/DEBUG常用命令或窗口功能,学会动态调试程序的基本方法。 4) 利用框架程序检验8086/8088汇编语言(MASM/TASM)的各种指令性与指示性操作功能和语法,

并了解它们与目标代码之间的关系;检验典型DOS/BIOS功能调用,实现简单的人机交互功能。

二、 基本实验内容

实验一

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

3) 建立、编辑汇编源程序,选择教材P137例3.1为样本,构建典型的汇编程序框架; 4) 用汇编工具(MASM/TASM.EXE)汇编源程序产生OBJ目标文件; 5) 用链接程序(LINK/TLINK.EXE)产生EXE可执行文件; 6) 用调试工具软件(Debug.com/ TD.EXE)调试执行程序;

a) 观察CPU寄存器、存储器环境; b) 单步、断点运行,观察中间结果; c) 完成正常执行;

d) 修改中间运行环境(寄存器,存储器); e) 直接编写程序片断,验证指令功能

7) ‘Hello World’显示和字符串输入再显示程序。

实验二

1) 输入字符串,作大小写变换,显示结果

2) 输入十进制数,并转换成十六进制数显示在屏幕上。

3) 在PC机上编辑、汇编、连接、调试与运行计算N!的程序。数值N由键盘输入,N!结果在屏幕

上输出(数值小时转换显示,数值大时显示16进制数),n≤12。 4) (选做)改写成子程序结构;(输入输出子程序) 5) (选做)改写成多模块结构; 6) (选做)改写成(软)中断调用。

三、 方案实现与测试

实验一

1) 掌握DOS及汇编程序编译链接环境基本环境

进入DOS环境:运行CMD.exe,Alt+Enter进入全屏模式;进入某文件夹cd **(文件夹名),进入上层文件夹cd..;显示当前文件夹中文件dir,若要显示一类后缀名文件或者同名的文件可使用dir *.txt或者dir a.*,其中*为通配符;若要复制文件,使用copy命令,若要重命名,使用ren命令。 熟悉编译链接环境:若使用MASM(宏汇编)软件,使用masm a.asm编译,使用link a.obj链接获

1

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

得a.exe文件;若使用Borland公司的TASM软件,使用tasm b.asm编译,使用tlink b.obj链接获得a.exe文件。

2) 使用调试环境(DEBUG或TD)

下图为TD环境主界面,中有代码区、数据区、寄存器区、堆栈区,具体使用方法见操作指南。

下图为DEBUG环境,r、d等为查看寄存器、数据命令,t为单步跟踪,详细使用命令使用?查看帮助或见操作指南。

3) ‘Hello, world’程序

调用DOS中断功能,功能号09,中断int 21h。 data segment

string db 0dh,0ah,'hello,world',0dh,0ah,'$'

2

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

data ends

stacks segment stack db 256 dup(0) stacks ends

code segment assume ds:data start:mov ax,data mov ds,ax

mov dx,offset string mov ah,09 int 21h

mov ah,4ch;return int 21h code ends end start

图为结果程序运行结果

4) 使用带符号的全编译、链接及调试

带/zi开关的全编译tasm/zi a,带符号开关/v的链接指令tlink/v a,在TD中调试得如下画面

3