好文档 - 专业文书写作范文服务资料分享网站

实验二指令与汇编语言基础及汇编语言程序设计

天下 分享 时间: 加入收藏 我要投稿 点赞

如有你有帮助,请购买下载,谢谢!

东南大学

《微机实验及课程设计》

实验报告

实验一、二 指令与汇编语言基础及汇编语言程序设计

姓 名: 孙权 学 号: 08008229 专 业: 自动化 实 验 室: 计算机硬件技术 实验时间: 2010年04月13日 报告时间: 2010年04月20日 评定成绩: 审阅教师:

0页

如有你有帮助,请购买下载,谢谢!

(报告正文部分的格式):

(要求:正文部分一律用五号字,宋体,1.25多倍行距。一级大标题靠左,四号,宋体,加粗。二级大标题靠左,小四,宋体,不加粗。) 报告文字宜精炼,内容建议如下:

一. 实验目的与内容(概述)

(含简单文字叙述) 实验目的:

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

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

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

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

存器等环境

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

实验内容:

1)掌握进入全屏命令行方式、修改环境的方法 2)确定源程序的存放目录构建个人实验环境 3)建立、编辑汇编源程序,构建典型的汇编程序框架

4)用汇编工具(MASM/TASM.EXE)汇编源程序产生OBJ目标文件 5)用链接程序(LINK/TLINK.EXE)产生EXE可执行文件 6)用调试工具软件(Debug.com/TD.EXE)调试执行程序

二. 基本实验原理(或基本原理)

(含简单文字叙述,关键电路原理图,程序框图) 1) 微型计算机指令系统及指令寻址方式 2) 汇编语言源程序的格式、组成、伪操作命令 3) DOS软中断和系统功能调用,BIOS调用

三. 方案实现与测试(或调试)

(含实验步骤—分步进行-调试-测试,关键/重要的程序片段,程序框架无需) 实验步骤:

1. 将目标源代码(如add.asm)放入带汇编工具的文件夹中;

2. 全屏启动命令行模式,进入上述文件夹,对源程序编译链接,编译出错则改正,生成可执行程序

(.exe)文件;

3. 直接键入debug myfile.exe回车(myfile为待调试可执行程序),用debug常用命令调试程序; 4. 启动TD并载入.exe文件,熟悉TD界面(全局菜单、代码区、数据区、寄存器区、堆栈区、标志

1页

如有你有帮助,请购买下载,谢谢!

区等);

5. 使用TD进行调试程序的一些基本操作:

? 查看数据区的数值:选择数据区的局部菜单中的Goto,在其输入框内输入要查看的数据区地址,

确认后即可查看数据区特定范围的存储情况。也可输入地址1899:0000,则左下数据窗口显示从1899:0000开始的数据块。

? 直接运行:TD功能键F9,从当前CS:IP开始运行程序,直到断点或结束,观察程序运行的结果。 ? 单步运行:使用TD功能键F7,每按一次程序向下运行一句,同时观察数据区、寄存器区、标志

区的相应变化,验证程序是否运行正常。

? 断点运行:载入程序后,将光标放置在要设置断点的指令上,使用TD功能键F2即可设置断点,

直接运行程序,当执行到该指令时将停止执行,这时可观察各个寄存器及存储器的值,可以验证程序运行是否正常。

? 直接添加指令:选择代码区局部菜单中的assemble选项,在其编辑框中直接输入指令确认后即可

完成添加,单步运行可查看该指令的功能和执行结果。

6. 通过字符串的变换和输入输出程序string.asm和十进制数转化为16进制程序num.asm熟悉和掌

握汇编语言程序的典型数据结构设计、典型程序流控制方法,并用TD调试。

程序:

(1)程序名:string.asm

data segment

input db 100,100 dup(0)

string1 db 0dh,0ah,'please input your strings',0dh,0ah,'$' string2 db 0dh,0ah,'the strings you input are:',0dh,0ah,'$' string3 db 0dh,0ah,'Do you want to continue (y/n):',0dh,0ah,'$' data ends

stacks segment stack db 256 dup(0) stacks ends code segment

assume cs:code,ds:data,ss:stacks main proc far start: mov ax,data mov ds,ax mov ax,stacks mov ss,ax

loop1: mov dx,offset string1 mov ah,09h int 21h

mov dx,offset input mov ah,0ah int 21h

mov dx,offset string2 mov ah,09h

2页

实验二指令与汇编语言基础及汇编语言程序设计

如有你有帮助,请购买下载,谢谢!东南大学《微机实验及课程设计》实验报告实验一、二指令与汇编语言基础及汇编语言程序设计姓名:孙权学号:08008229专业:自动化实
推荐度:
点击下载文档文档为doc格式
0xzfa5psqs7b3ef97wu606i7k4ff8500zdc
领取福利

微信扫码领取福利

微信扫码分享