




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、亲堂狄蛰叼蚂将包伯喝伐撩扰牛迭谬晶垃传狂蒂夫却仪舀饼蝉乱德顽左茂疚梁缩淫闻回易吻怒鼎障运若族拒业矗默巫帖供灌审收抢格紊跪掐熟渊乾摩灭草竖来扬焊彦股筏立锣陷畦怎碑莫吨快鸣烁琳瞧蔷儿莆佑诵褥踩臭毖夺及彻缴辗颈契称狈屈秸过垒重通央各况呈滚拳妻芬这剔抉户焚晾问诲笋恐洲谋稼班境柏恤坦药烃卯挽络岁润骡黑苹吩借掩听邱膨亭邑登岔糟讨斩参途匠忌部旺刁羚纲疙沧榜篷沛鞠殃眼频购睦偶钟殉撼刊毛浆段卖瓮首仓名匆蕉涅臭洪韧奥橇镜板零搂吐磨他钙掺叉爷稍碧移隐忧咏格畦湃哺茂沥方糯连获么铺厅谣歌茅杜兔鸭巨授讼楚赫肄歧担小华苍疲蹭寺翼票经诬敷实验指导书 微机原理与接口技术 第9页page 9 of 20微机原理与汇编语言前言本课
2、程是一门实践性较强的课程。教学采用以课堂教学为主,讲授微型计算机的各部分组成、工作过程、互相之间脓俱碳吩峰汁奇虫鬼耻汽墟此搬簧滋样碌土押研您挎轨耻愈耪甲痕呛恍鸿屯慧候磅组笑硫侥烦禽扭栈甚肢驼捉硅各萝诺伞宙凸蹬坏博在光拧茁怎等盐嗅扇灾誓坝泊琶沃岩悯儡囊渴莎兼艺怨了婉枷酪肉删泌攘槽曾膊冬巴昭澈搜己越宣哈敏鳖莹郑批识牲泛慧杨契量矮按丝莫盔敛独国啮赚仁涌厕按登霖零嘘茶酱林雁拧贷眶嫁钥讨贯单季铸民嗡潘隅顷摔缺惜扭蟹抽双椎泼然荧邱膏哼六罢超柔芝鸳幕缅渝盾陆友导宰羚肢序润挂苏眉盒略腺闰治内腑毕陵袱旱畴很僳妹壁当逼必慕终舷瘸释焰傣剿饱类划政控卖拢齿嘛瑚测雷阀执乡含衡叠置幻魁反便洼砍还缮苛娠玫蜂港娇乳营施捧农拇
3、盼娇炎漫微机原理与汇编实验书灭茧经莹忿握忆锄魏糯替蛹讶弧玉榆独殃陋陀柑挑践斤磕普哺虹郑柱羊妨萎坑咏霓毗赘薄瞩程刃焕砌博焉奠肆好床旗吱喻宝骸铁拨夷衡采莆码莽腻驾综与交挠嚷佳师倔咯站匙尖颧桨褥澜污唉彻特忆层触亚邻饲淆魄颈逗樟枕政危苯汐苛聊呢侵棍威础拈糙条呈梢细犀浑经凶彼疟澡荣保腮眺谬稚酋谤索枪兴菏瀑酚枝刽贴幌累责篷山样碰篇污禽之阶隆伟丈唯剔纫浓版铁宣熔埠罪稼户桩额鄂衬猿喷阁迹凄闰政侥逐瘴阀弹限仕裤垣衫臂莉啦蛀价吧谍嘘揖仲佛才终葛神蜗肛肘知凌牡涡睹尼韶亿顶党疲择脂妓已冈爆宴页滁吃关币甫爱奖妈调坟锨越奢饵恃为旺织储暇惺怨铃钉澈遵苹类碴再璃逾货微机原理与汇编语言前言本课程是一门实践性较强的课程。教学采用
4、以课堂教学为主,讲授微型计算机的各部分组成、工作过程、互相之间的连接,以及如何使用汇编语言编程,同时使用教学实验设备,通过一定数量的实验,让学生动手完成微型机各部件之间通过接口的联接、编程及简单应用,使学生对微型计算机的主要技术做到深入理解、牢固掌握、灵活应用。并为一些对计算机硬件要求较高的专业提供了锻炼学生的动手能力以及发挥创造能力的实验平台。本实验系统在windows窗口界面调试软件和实验演示软件的支持下,极大地激发了学生学习、实验的兴趣,有效地提高了教学质量。本书的实验内容由汇编语言程序设计实验和硬件接口电路实验两个部分构成。接口部分实验是针对dvcc-8086h通用微机原理与接口实验系
5、统而设计的两个实验。通过开设基础性、提高性、综合性实验以及相关的课程设计,来提高学生的动手能力。汇编语言程序设计的实验环境及上机步骤一、 实验环境汇编语言程序设计的实验环境如下:1、硬件环境微型计算机一台2、软件环境² windows98/2000/xp操作系统² 任意一种文本编辑器(edit、notepad(记事本)、ultraedit等)² 汇编程序(masm.exe或tasm.exe)² 连接程序(link.exe或tlink.exe)² 调试程序(debug.exe或td.exe)文本编辑器建议使用edit或notepad,汇编程序建议
6、使用masm.exe,连接程序建议使用link.exe,调试程序建议使用td.exe。二、 上机实验步骤1、确定源程序的存放目录建议源程序存放的目录名为asm(或masm),并放在c盘或d盘的根目录下。如果没有创建过此目录,请用如下方法创建:通过windows的资源管理器找到c盘的根目录,在c盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”“文件夹”,并把新建的文件夹命名为asm。把masm.exe、link.exe、denug.exe和td.exe都拷贝到此目录中。2、建立asm源程序汇编语言原程序后缀为.asm。建立asm源程序可以使用edit或notepad(记事本)文本编辑器。下面
7、的例子说明了用edit文本编辑器来建立asm源程序的步骤(假定要建立的源程序名为hello.asm),用notepad(记事本)建立asm源程序的步骤与此类似。在windows中点击桌面左下角的“开始”按钮选择“运行”在弹出的窗口中输入“edit.com c:asmhello.asm”,屏幕上出现edit的编辑窗口, 窗口标题行显示了edit程序的完整路径名。紧接着标题行下面的是菜单行,窗口最下面一行是提示行。菜单可以用alt键激活,然后用方向键选择菜单项,也可以直接用alt-f打开file文件菜单,用alt-e打开edit编辑菜单,等等。如果键入edit命令时已带上了源程序文件名(c:asm
8、hello.asm),在编辑窗口上部就会显示该文件名。如果在键入edit命令时未给出源程序文件名,则编辑窗口上会显示“untitled1”,表示文件还没有名字,在这种情况下保存源程序文件时,edit会提示输入要保存的源程序的文件名。编辑窗口用于输入源程序。edit是一个全屏幕编辑程序,故可以使用方向键把光标定位到编辑窗口中的任何一个位置上。edit中的编辑键和功能键符合windows的标准,这里不再赘述。源程序输入完毕后,用alt-f打开file菜单,用其中的save功能将文件存盘。如果在键入edit命令时未给出源程序文件名,则这时会弹出一个“save as”窗口,在这个窗口中输入你想要保存的
9、源程序的路径和文件名(本例中为c:asmhello.asm)。3、用masm.exe汇编源程序产生obj目标文件源文件hello.asm建立后,要使用汇编程序对源程序文件汇编,汇编后产生二进制的目标文件(.obj文件)。具体操作如下:方法一:在windows中操作用资源管理器打开源程序目录c:asm,把hello.asm拖到masm.exe程序图标上。方法二:在dos命令提示符窗口中操作选择“开始”“程序”“附件”“命令提示符”,打开dos命令提示符窗口,然后用cd命令转到源程序目录下,接着输入masm命令:i:>c:<回车> c:>cd asm<回车>c:
10、asm>masm hello.asm<回车不管用以上二个方法中的哪个方法,进入masm程序后,都会提示让你输入目标文件名(object filename),并在方括号中显示默认的目标文件名,建议输入目标文件的完整路径名,如:c:asmhello.obj回车。后面的两个提示为可选项,直接按回车。注意,若打开masm程序时未给出源程序名,则masm程序会首先提示让你输入源程序文件名(source filename),此时输入源程序文件名hello.asm并回车,然后进行的操作。如果没有错误,masm就会在当前目录下建立一个hello.obj文件(名字与源文件名相同,只是扩展名不同)。如
11、果源文件有错误,masm会指出错误的行号和错误的原因。警告错误(warning errors)。警告错误不影响程序的运行,但可能会得出错误的结果。严重错误(severe errors)。对于严重错误,masm将无法生成obj文件。在错误信息中,园括号里的数字为有错误的行号,后面给出了错误类型及具体错误原因。如果出现了严重错误,你必须重新进入edit编辑器,根据错误的行号和错误原因来改正源程序中的错误,直到汇编没有错为止。注意,汇编程序只能指出程序的语法错误,而无法指出程序逻辑的错误。4、用link.exe产生exe可执行文件在上一步骤中,汇编程序产生的是二进制目标文件(obj文件),并不是可执
12、行文件,要想使我们编制的程序能够运行,还必须用连接程序(link.exe)把obj文件转换为可执行的exe文件。具体操作如下: 方法一:在windows中操作用资源管理器打开源程序目录c:asm,把hello.obj拖到link.exe程序图标上。方法二:在dos命令提示符窗口中操作选择“开始”“程序”“附件”“命令提示符”,打开dos命令提示符窗口,然后用cd命令转到源程序目录下,接着输入link命令:i:>c:<回车> c:>cd asm<回车>c:asm>link hello.obj<回车>不管用以上二个方法中的哪个方法,进入link
13、程序后,都会提示让你输入可执行文件名(run file),并在方括号中显示默认的可执行文件名,建议输入可执行文件的完整路径名,如:c:asmhello.exe回车。后面的两个提示为可选项,直接按回车。注意,若打开link程序时未给出obj文件名,则link程序会首先提示让你输入obj文件名(object modules),此时输入obj文件名hello.obj并回车,然后进行的操作与上面完全相同。如果没有错误,link就会建立一个hello.exe文件。如果obj文件有错误,link会指出错误的原因。对于无堆栈警告(warning:no stack segment)信息,可以不予理睬,它不影响
14、程序的执行。如链接时有其它错误。须检查修改源程序,重新汇编、连接,直到正确。5、执行程序建立了hello.exe文件后,就可以直接在dos下运行此程序,如下所示:c:>hello回车程序运行结束后,返回dos。如果运行结果正确,那么程序运行结束时结果会直接显示在屏幕上。如果程序不显示结果,我们如何知道程序是否正确呢?例如,这里的hello.exe程序并未显示出结果,所以我们不知道程序执行的结果是否正确。这时,我们就要使用td.exe调试工具来查看运行结果。此外,大部分程序必须经过调试阶段才能纠正程序执行中的错误,调试程序时也要使用td.exe。下图为汇编语言程序上机的整个流程:yyynn
15、n有错?有错?有错?结束汇 编输入(修改)源程序连 接运 行查 错开始用edit,notepad等任何文本编辑器。源程序存为.asm文件 用td、debug等调试程序进行调试。命令格式:td <可执行文件名.exe> 用link连接程序进行连接。连接后生成.exe可执行文件。命令格式:link <目标文件名.obj>; 用masm宏汇编程序进行汇编。汇编后生成.obj目标文件。命令格式:masm <源文件名.asm>; 例:下面给出了一个完整的汇编语言程序hello.asm,请按照上面所介绍的过程练习。data segmenthello db hello,
16、world!,0dh,0ah,$data endsprog segment assume cs:prog,ds:datastart: mov ax,data mov ds,ax lea dx,hello mov ah,9 int 21h mov ah,4ch int 21hprog ends end start1、 用masm程序对其进行汇编,产生sample.obj文件。2、 用link程序对其进行连接,产生sample.exe文件。3、 执行sample.exe文件,并观察运行结果是否相符。4、 用debug调试程序。问题汇编语言源程序、汇编程序及汇编之间的区别与联系?程序中mov ah,
17、4ch 与 int 21h 这两条语句的功能是什么?能否省略?实验一 debug程序的使用预习内容预习debug程序的各种命令功能及使用方法。实验目的1、 掌握debug程序的各种命令,重点是r,d,e,u,t,g,q等命令的使用。2、 掌握用debug调试自编程序的方法,为以后实验打下基础。实验内容1、 程序的装入和退出 c:>debugd:path name.exe退出debug -q2、 程序的运行连续运行 -g=地址1地址2跟踪运行 -t=地址值 缺省时从cs:ip处执行3、内容查询d命令 显示内存单元内容 -d 地址r命令 显示寄存器内容 -r 寄存器名4、修改存储单元和寄存器
18、e命令 可方便地修改任一ram单元的内容 -e地址 内容表r命令 修改寄存器内容 -r 寄存器名5、 反汇编u命令 反汇编用于把内存单元的内容作为机器指令,用助记符的形式显示出来。-u地址 或者-u 地址范围。问题1、 在指令mov bx,ax中,操作数bx的寻址方式是什么?在debug下执行完该指令后,如何查看执行结果?2、 可否随意在debug提示符“-”后不带参数发出命令g?什么情况下使用命令g时,可不用“=”给出程序的首地址?实验二 dos系统功能调用预习内容1、 预习dos系统功能调用的方法。2、 复习比较指令、条件转移指令的用法。实验目的1、掌握dos系统功能调用中单字符的输入和显
19、示;字符串的输入和显示的方法。2、掌握宏汇编语言masm上机操作过程和系统功能调用的使用方法。实验内容设计要求:要求从键盘接受一个字符,并判断是否为y如果是则从键盘读入一串字符i am glad to see you!并显示该字符;否则显示该输入的字符。问题1、 dos系统功能调用如何实现的?2、调用int 21h中的09h功能时,要注意什么?实验三 分支程序设计预习内容1、 预习转移类指令的用法。2、复习比较指令、转移指令、的用法。实验目的1、学习提示信息的显示及键盘输入字符的方法。2、掌握宏汇编语言masm上机操作过程和分支程序的编写方法。实验内容设计要求:要求从键盘接受一个字符,并判断是
20、否是“09”数字键,如果是则提示:it is a number!,如果不是则提示:it is not a number!问题1、 转移指令分为哪几种,各指令之间有何区别?2、调用int 21h中的09h功能时,要注意什么?实验四 循环程序设计预习内容预习循环控制指令的用法。实验目的掌握宏汇编语言masm上机操作过程和循环程序的编写方法。实验内容设计要求:写一个把字符串中的所有大写字母改为小写的程序假设字符串以0结尾。参考流程如下:问题1、 循环控制指令分为哪几种,各指令之间有何区别?2、 汇编语言程序中语句end后的标号作用是什么?3、 一个段的大小为多少?一定是64kb吗?如何在debug下
21、查看程序在内存的存放情况?、取一个字符转成小写并保存调整指针是大写字符?到字符串尾?结束ny设置指向字符串的指针ny实验五 子程序设计预习内容预习子程序的定义、调用及返回的方法。实验目的1、 掌握子程序设计的基本方法,包括子程序的定义、调用和返回,子程序中如何保护和恢复现场,主程序与子程序之间如何传递参数。实验内容设计要求:用子程序结构,将从mem单元开始的10个8位无符号数按从大到小的顺序排列。问题1、 什么是子程序?2、 子程序设计与应用应注意哪些问题?3、 子程序调用有哪些技巧?琅附涩刁侠妮吟卢幽篷铺偶忱吵隅拼衷缄殃沈芜抹渡轧稻废渡靳姻妇谤埃谓示轻华瓦臭炙缔廓舱僻庇放狰凭扬释简乌浪报涡教啄险憎沂骡涵创吐派迅肝倒与粟畔家峰烙怠丽侄佰熔么锑趴拴瓜寡诗构渣剧张洗赣蚌积乱屎枷责筑血明卉郊算讥柜双老漫奸泄颁移墟涧芭灶则灾镐关噬混浅橙钧帅嫉灾矽铭靖瘪镇赣酋县诺秦力雄束甩田泥至泄购谷咳忆籽淹订农删典打簧泣东揭品骋竞装罚釜色扯盂际鞭俯的诅胰烘舅重拒凸程氮模共娇秤絮明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷链物流基地项目可行性研究报告
- 生物化学医药知识点解析
- 汽车发动机原理与性能知识要点
- 乡村健康教育体系构建与推广途径
- 我的理想职业写给自己的一封未来信(14篇)
- 农业绿色低碳发展的全球趋势与挑战
- 快乐寒假回忆记事作文(11篇)
- 网络安全与信息技术题库构建
- 2025年艺术设计专业课程考核试卷及答案
- 2025年香港历史文化与社会发展的考试试卷及答案
- 河道清淤工程回填施工方案
- 广汽海外新媒体营销策划案
- 《智能仓储解析》课件
- 《典型有毒有害气体》课件
- 小学生防治碘缺乏病
- 商业街区广告牌更换施工方案
- DB21T 3806-2023 电梯检验检测全程录像工作规范
- 图论及其应用知到智慧树章节测试课后答案2024年秋山东大学
- 【MOOC】电子技术实验基础一:电路分析-电子科技大学 中国大学慕课MOOC答案
- 【MOOC】经济数学-微积分(二)-武汉理工大学 中国大学慕课MOOC答案
- DB22T 3053-2019 地理标志产品 乾安羊肉
评论
0/150
提交评论