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

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

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一二__指令与汇编语言基础及汇编语言程序设计

东南大学 《微机实验及课程设计》 实验报告 实验一、二 指令与汇编语言基础及汇编语言程序设计 姓 名: 孙权 学 号: 专 业: 自动化 实 验 室: 计算机硬件技术 实验时间: 2010年04月13日 报告时间: 2010年04月20日 评定成绩: 审阅教师: (报告正文部分的格式): (要求:正文部分一律用五号字,宋体,1.25多倍行距。一级大标题靠左,四号,宋体,加粗。二级大标题靠左,小四,宋体,不加粗。) 报告文字宜精炼,内容建议如下: 一. 实验目的与内容(概述) (含简单文字叙述) 实验目的: 了解命令行操作基本方式和基本命令,掌握PC环境下命令行方式的特点 掌握汇编语言程序指令编辑、宏汇编、连接、运行基本概念 熟练掌握动态调试程序TD的常用命令和窗口功能,学会用TD调试程序,修改环境 学会利用DEBUG或TD检查认识指令功能的正确方法 进一步熟悉汇编语言程序的编辑、宏汇编、链接、运行基本概念 熟练掌握动态调试程序TD/DEBUG的常用命令或窗口功能,学会用TD/DEBUG调试程序,修改数据和寄存器等环境 熟悉掌握汇编语言程序的典型数据结构设计、典型程序流控制方法,了解DOS/BIOS功能调用的基本方法 实验内容: 1)掌握进入全屏命令行方式、修改环境的方法 2)确定源程序的存放目录构建个人实验环境 3)建立、编辑汇编源程序,构建典型的汇编程序框架 4)用汇编工具(MASM/TASM.EXE)汇编源程序产生OBJ目标文件 5)用链接程序(LINK/TLINK.EXE)产生EXE可执行文件 6)用调试工具软件(D/TD.EXE)调试执行程序 二. 基本实验原理(或基本原理) (含简单文字叙述,关键电路原理图,程序框图) 微型计算机指令系统及指令寻址方式 汇编语言源程序的格式、组成、伪操作命令 DOS软中断和系统功能调用,BIOS调用 三. 方案实现与测试(或调试) (含实验步骤—分步进行-调试-测试,关键/重要的程序片段,程序框架无需) 实验步骤: 将目标源代码(如add.asm)放入带汇编工具的文件夹中; 全屏启动命令行模式,进入上述文件夹,对源程序编译链接,编译出错则改正,生成可执行程序(.exe)文件; 直接键入debug myfile.exe回车(myfile为待调试可执行程序),用debug常用命令调试程序; 启动TD并载入.exe文件,熟悉TD界面(全局菜单、代码区、数据区、寄存器区、堆栈区、标志区等); 使用TD进行调试程序的一些基本操作: 查看数据区的数值:选择数据区的局部菜单中的Goto,在其输入框内输入要查看的数据区地址,确认后即可查看数据区特定范围的存储情况。也可输入地址1899:0000,则左下数据窗口显示从1899:0000开始的数据块。 直接运行:TD功能键F9,从当前CS:IP开始运行程序,直到断点或结束,观察程序运行的结果。 单步运行:使用TD功能键F7,每按一次程序向下运行一句,同时观察数据区、寄存器区、标志区的相应变化,验证程序是否运行正常。 断点运行:载入程序后,将光标放置在要设置断点的指令上,使用TD功能键F2即可设置断点,直接运行程序,当执行到该指令时将停止执行,这时可观察各个寄存器及存储器的值,可以验证程序运行是否正常。 直接添加指令:选择代码区局部菜单中的assemble选项,在其编辑框中直接输入指令确认后即可完成添加,单步运行可查看该指令的功能和执行结果。 通过字符串的变换和输入输出程序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

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档