




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机实验及课程设计实验报告 学号 610081330东南大学微机实验及课程设计实验报告实验一、二 指令与汇编语言基础及汇编语言程序设计姓 名: 孙权 学 号: 08008229 专 业: 自动化 实 验 室: 计算机硬件技术 实验时间: 2010 年 04 月 13 日 报告时间: 2010 年 04 月 20 日评定成绩: 审阅教师: 微机实验及课程设计实验报告 学号 610081331(报告正文部分的格式):(要求:正文部分一律用五号字,宋体,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)用调试工具软件(D/TD.EXE)调试执行程序二. 基本实验原理(或基本原理)(含简单文字叙述,关键电路原理图,程序框图)1) 微型计算机指令系统及指令寻址方式2) 汇编语言源程序的格式、组成、伪操作命令3) DOS 软中断和系统功能调用,BIOS 调用三. 方案实现与测试(或调试)(含实验步骤 分步进行 -调试 -测试,关键 /重要的程序片段,程序框架无需)实验步骤:1. 将目标源代码(如 add.asm)放入带汇编工具的文件夹中;2. 全屏启动命令行模式,进入上述文件夹,对源程序编译链接,编译出错则改正,生成可执行程序(.exe)文件; 3. 直接键入 debug myfile.exe 回车(myfile 为待调试可执行程序) ,用 debug 常用命令调试程序;微机实验及课程设计实验报告 学号 6100813324. 启动 TD 并载入.exe 文件,熟悉 TD 界面(全局菜单、代码区、数据区、寄存器区、堆栈区、标志区等) ;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.asmdata segmentinput 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 endsstacks segment stackdb 256 dup(0)stacks endscode segmentassume cs:code,ds:data,ss:stacksmain proc farstart: mov ax,datamov ds,axmov ax,stacksmov ss,axloop1: mov dx,offset string1mov ah,09hint 21hmov dx,offset input微机实验及课程设计实验报告 学号 610081333mov ah,0ahint 21hmov dx,offset string2mov ah,09hint 21hcall dispmov dx,offset string3mov ah,09hint 21hmov ah,1int 21hcmp al,yjz loop1mov ah,4chint 21hmain endpdisp proc nearxor cx,cxmov cl,input1mov si,2again: mov dl,inputsicmp dl,61hjb nextcmp dl,7ahja nextsub dl,20hnext: mov ah,02hint 21hinc siloop againretdisp endpcode endsend start(2)程序名:num.asmdata segmentright db 1input db 6,7 dup(0)output dw 0000hten dw 000ah微机实验及课程设计实验报告 学号 610081334string1 db 0dh,0ah,please input your number (065535),0dh,0ah,$string2 db 0dh,0ah,The number you input is:,0dh,0ah,$string3 db 0dh,0ah,Do you want to continue (y/n):,0dh,0ah,$string4 db 0dh,0ah,The number you input is not from 065535,0dh,0ah,$data endsstacks segment stackdb 256 dup(0)stacks endscode segmentassume cs:code,ds:data,ss:stacksmain proc farstart: mov ax,datamov ds,axmov ax,stacksmov ss,axloop1: mov output,0000hmov dx,offset string1mov ah,09hint 21hmov dx,offset inputmov ah,0ahint 21hmov right,1call changecmp right,0jz errormov dx,offset string2mov ah,09hint 21hmov ax,outputmov dl,ahshr dl,4call dispmov dl,ahand dl,0fhcall dispmov dl,alshr dl,4call disp微机实验及课程设计实验报告 学号 610081335mov dl,aland dl,0fhcall disp四提高与创新研究(说明提高与创新部分实验情况,简述实验步骤,电路和关键 /重要的程序片段)实验中使用 TD 对 8086/8088 指令系统的六大类指令,即数据传送指令、算术运算指令、逻辑运算和移位指令、串操作指令、控制转移指令、处理器控制指令,单步运行、观察各个寄存器及存储器的运行结果,进行功能验证。部分程序如下:MOV AX,0001HMOV BX,0002HPUSH AXPUSH BXPOP BXPOP AXMOV AX,0001HMOV BX,0002HMOV CX,0009HADD AX,BXLOOP 地址五分析与总结(总结现象,分析原因和结果,评价实验(设计 /效果 /调试 /测试方法) )1. 断点运行调试小结:a. 设置多个断点用于调试较大的程序,即程序中有多个模块、多个通路时用,比较方便,在执行时不论走哪条通路,程序都可以在断点处停下来,以便调整程序。b. DEBUG 下进行断点运行的调试使用运行命令G 地址地址地址其中地址为执行的起始地址,以 CS 中内容作为段地址,以等号后面的地址为偏移地址,再后面的地址为断点地址。 在命令行中只有起始地址,没有断点地址,则程序在执行时不中断。DEBUG 规定最多设置 10 个断点地址。断点地址为程序中断处的偏移地址,段地址在 CS 中。 c. 在 TD 中设置断点:将光标放置在要设置断点的指令上,使用 TD 功能键 F2 即可设置断点。设置断点后直接运行程序,当执行到该指令时将停止执行,这时可观察各个寄存器及存储器的值,可以验证程序运行是否正常。 d. 断点的设置位置,一般设置在中断命令前或后的第一条指令位置处。2. DEBUG 常用命令小结: (1) 汇编命令 A 微机实验及课程设计实验报告 学号 610081336格式:a. A 段寄存器名 :偏移地址 b. A 段地址: 偏移地址 c. A 偏移地址 d. A 功能:用该命令可以将汇编语言程序直接汇编进入内存。 (2) 显示内存命令 D 格式:a. D 地址 b. D 地址范围 c. D 功能:显示指定内存范围的内容。(3) 修改存储单元内容命令 E 格式:a. E 地址 内容表 b. E 地址 功能:a. 用命令所给定的内容表去代替指定地址范围的内存单元内容。 b. 一个单元一个单元地连续修改单元内容。 其中内容表为一个十六进制数,也可以是用单引号括起的一串字符。 (4) 检查和修改寄存器内容命令 R格式:a. R b. R 寄存器名 功能:a. 显示 CPU 内部所有寄存器的内容和全部标志位的状态。 b. 显示和修改一个指定寄定器的内容和标志位的状态。(5) 跟踪与显示命令 T、Tn 格式:a. T地址或 T 地址 b. T地址条数或 T 地址条数 功能:a 执行一条指定地址处的指令,停下来,显示 CPU 所有寄存器内容和全部标志位的状态,以及下一条指令的地址和内容。 b 为多条跟踪命令,从指定地址开始;若命令中用地址 给定了起始地址,则从起始地址开始,若未给定,则从当前地址(CS:IP )开始,执行命令中的 条数决定一共跟踪几条指令后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九年级语文下册 第二单元 8《蒲柳人家》教学设计 新人教版
- 人教统编版选择性必修3 逻辑与思维超前思维的方法与意义教案设计
- 六年级数学下册 四 快乐足球-比例尺信息窗1 比例尺的意义第1课时教学设计 青岛版六三制
- 人教版九年级上册 第一单元 课题3 走进化学实验室 教学设计
- 二年级品德与生活上册 粮食来的真不容易教学设计 北师大版
- 鸡骨支床、哀毁骨立-【2022年暑假预习】云名著《世说新语》之“德行”卷
- 标书制作方法与技巧培训
- 人教部编版三年级上册(道德与法治)10 父母多爱我教学设计
- 癌痛规范化治疗的目标
- 二年级下册数学教案-4.1 用玻璃球作单位测量物品的质量|冀教版
- 病毒分离鉴定
- 天车安全检查表
- 海姆立克急救(生命的拥抱)课件
- 土方回填试验报告
- 越南语基础实践教程1第二版完整版ppt全套教学教程最全电子课件整本书ppt
- 大数据与会计-说专业
- 工程项目样板引路施工方案
- 必备空调安装免责协议书范文优选七篇
- (自考)财务管理学完整版课件全套ppt教程(最新)
- NX_Nastran_超单元指南_cn
- 校服评标方法及打分表
评论
0/150
提交评论