版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理及接口技术实验指导书2010年9月信息学院实验中心微机实验室第一章80X86微机原理及其程序设计(软件部分)实验一软件程序设计(1.熟悉PC机的使用和调试汇编程序的方法2.简单程序设讣) 实验目的:1. 掌握汇编程序山编辑、编译、链接到调试的全过程。2. 通过汇编调试工具加深对机器指令执行过程的了解。3. 利用汇编调试工具加深对机器指令和伪指令的了解二.实验要求:1. 了解PC机的系统类型和基本配置,熟悉PC机DOS和WINDOWS下的基本 操作。2. 掌握使用UltraEdit等编辑器对汇编语言源程序(存储后扩展名为.ASM) 的编辑操作。3. 学会用宏汇编程序MASM (或TASM
2、)对.ASM文件进行编译(编译后扩展名 为.obj)。4. 使用链接程序LINK (或TLINK)对.OBJ文件链接生成.EXE文件。5. 学会用汇编调试工具软件TD (或DEBUG)对.EXE文件进行调试进一步深对机 器指令的了解、执行程序、检查运行结果的方法。6. 简单程序是构成复杂程序的基础。简单程序乂称顺序程序,顾名思意,就 是为完成一简单的目的,采用一串指令序列,按顺序逐条执行。在简单程序执行过 程中,每条指令只执行一次,同时由于没有转移,一般不考虑对标志的影响。象所有汇编程序设计一样,编程前,应考虑如何分配CPU中的寄存器和内存中 单元等,要考虑到指令本身的特点和要求分配寄存器,例
3、如,如果希望使用乘法指 令进行乘法,根据指令的要求,必须要使用AL或AX作为被乘数,在这种情况 下,AL或AX就必须考虑为存放被乘数,当然,乘积应该是放在AX或DX:AX中。1. 掌握汇编程序的基本结构及设计方法,包括:A汇编语言源程序结构B基于汇编级的解题算法C寄存器和存储器的内容分配D简单汇编程序的设计E返回系统的方法2. 掌握对自编程序的调试及出错修改的方法,包括:A汇编程序的编辑、编译、链接及调试B在调试程序过程中发现语法错误的处理方法C在调试程序过程中如何发现逻辑错误及处理方法3. 利用调试工具软件对课堂中讲授的机器指令、伪指令、操作符、运算符等 内容加深了解三.实验仪器:PC机一台
4、四实验内容:汇编程序的编程环境有以下二种方式:1. Dos窗口下命令行方式2. UltraEdit 方式其中第一种Dos方式,是指进入Dos窗口模式编辑源文件,用命令行方式直 接调用Tasm, Masm等编译工具进行程序的编译、链接、调试,而后两种工作方式都 是在 Windows下进行源文件的编辑,而编译和链接仍然是通过调用Tasm, Masm等编译工具 完成相应工作。为了方便我们现在一般采用后一种编程环境。下面我们分别介绍:UltraEdit 方式UltraEdit是Windows下非常优秀的文本编辑软件,有很好的可配置性,支 持语法高亮等。通过配置UltraEdit,可实现在UltraEd
5、it环境下编辑汇编源程序、汇编、 连接、调用TDebug调试非常方便。配置完成后,可实现快捷键调用各编译、连接、调试功能。 实验机器上已经预配置好了。使用说明:1. 打开UltraEdit,编辑并保存汇编源文件。先新建一个文件,并保存为.asm为后缀的文件,此后,可以有语法高亮指 示。输入汇编程序并保存。Q w nv 的g I 9 D 人吒X XT(*LCUJllI犬仆*40Dtn修?!9, Hl|1.r W/OAeK. “丿“.-M, , 7)ne CM, HSz eg*cod#? ceawunt,jau*Mi c : coda. dj:dV dt. ctmI nloop :1MV OMa
6、bv &XOt C cl cutUXt.l.OO|(.tnovIHenp 1. kx-*-t J2编译UltraEdit菜单栏一高级一masm编译(或Tasm编译)/ *你D O i) nwi o*. itw 11从QEg MtiA) WO.y X XTCfiMQ -Ftfl W4R aU .I S ritw W3: Ll M, t4MrOK lHrW,*D .A*0 0(13 SXOl am d0hM WwirtoCXS MVERBW3MMW-.ni.lEUCd戻b: ,IIMAXWOM !*! IVMtvWWCXiWMtHZ八 y w zATCjuMCaU-Ht*4OMmVMU*4Uxp
7、伽抄 ea砂 w Dm ah n-us 12 处I Mrt |Liat FL ! (nul .rp) : NUL lwxar ia ( . xiuj iPeiftonv Kila (nul.Ot)? LMK . warm am C.MO2 it m4. 调试UltraEdit菜单栏一高级一Td调试此菜单会新开一个dos窗口,在其中运行td. exe,可利用单步跟踪和设置断 点等方式进行调试,调试完毕,ALT+X退出Td环境,exit返回即可。Li XHXD R*:U Mca XacWn;D兄32 竝D Z 駆口i* 利咖)II $ D2tru 逐 a* 兴 h rlaixi adAJJSJt*
8、.MM LcwnnM Wind*data jb Udd Q 04*5 CtZh oS ajrsuM cjMtre: tnov ew”d, tnyv 09OMnt昨aw仑冬刘vi 大水*20另:DOS窗口模式与全屏模式的切换键:Alt+Enter调试最好在全屏模式下。例1输入以下程序,完成由编辑、编译、链接到调试的全过程。在调试过程中应使用单步跟踪、断点等方法调试,注意观察寄存器、标志位和有关存储器内容的变化。A. 将 SI (BYTE), S2 (WORD)和 S3 (DWORD)中内容送至 DI, D2, D3注意:以下程序有误,在调试过程中加以修改使之正确DATA SEGMENTSSIDB
9、1234HSS2DWEA32HSS3DD12345678HDD1DB0DD2DW9DD3DW9DATE ENDSCODE SEGMEMTASUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV AL, SSILEA SI,SS2LEA DI,DDMOV AX,SIMOV DI, AXMOV SI,OFFSET S3MOV DI, OFFSET D3MOV AX, SIMOV D3, AXINC SIINC DIMOV AX, SIMOV DI, AXMOV AX, 4C00H ;返回系统INT 21HCODE ENDSENDS STRATB.
10、完成两个长整数相加的汇编程序要求:调试过程中应更改必要的参数值,以验证程序的正确性,例如本题可修 改加数和被加数以判别最高位进位处理是否正确。并将该程序修改为减法操作重新调试。DATA SEGMENTNUMBER EQU 6BUFFER1 DB 12H,0E2H, 33H, 43H, 12HBUFFER2 DB 22H,0A2H, 55H, 0F2H, 3FHRESULT DB NUMBER DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV CX, NUMBER-MOV SI, O
11、FFSET BUFFER 1 ;被加数指针LEA BX, RESULT ;和指针XOR AX, AX ;清 CF 标志NEXT: MOV AL, SIADC AL, DI;带进位相加MOV BYTE PTR BX, AL ;保存部分和INC SI ;变动指针INC DIINC BXLOOP NEXT ;循环控制ADC AH, 0 ;最高位进位MOV BYTE PTR BX, AHMOV AX, 4C00H ;返回系统INT 21HCODE ENDSEND STARTC. 完成数据块的移动,并利用TD观察内存中数据移动过程。DS DATASEGMENTBUFFER1 DB 0, 1, 2, 3,
12、 4, 5, 6, 7, & 9DS.DATAES_DATAENDSSEGMENTRESULT DB 10 DUP(?)ENDSES.DATAMY.CODE SEGMENTASSUME CS:MY.CODE, DS:DS.DATA, ES:ES.DATASTART:MOV AX, DS.DATAMOV DS, AXMOV AX,ES_DATAMOV ES,AXMOV SI,OFFSET BUFFER1MOV DI,OFFSET RESULTMOV CX, 10REP MOVSBINT 21HMY.CODE ENDSEND START例2.在汇编调试工具软件的环境下,完成下列指令的执行,注意选取
13、有代表 性的数据,并观察指令执行前后的数值变化:例如:观察MOV AX, BX指令在TD或DEBUG下将AX, BX分别置不同的值,写入MOV AX, BX指令然后执行, 再观察AX, BX寄存器的内容。A. XCHGB. XLATC. LDS 和 LESD. MUL 和 IMULE. CBW和CWD分正数和负的惜况F. 移位和循环指令例3.在屏幕上输出字符串Hello the world!代码如下:DATA SEGMENTBUFFER DB Hello the world!ODH, OAH, SDATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXLEA DX, BUFFERMOV AH, 9INT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学五年级数学(上)第一单元测试题(带答案)
- 人教版二年级上数学第一学期期末测试卷七(含答案)
- 湖南省衡阳市衡阳县第四中学2024-2025学年高三上学期第一次模拟考试数学试题(含答案)
- 珍惜时间与高效学习主题班会
- 线性代数知到智慧树章节测试课后答案2024年秋贵州理工学院
- 电路分析基础知到智慧树章节测试课后答案2024年秋太原理工大学
- 2024年安徽省阜阳市高二上学期期中英语试题及解答参考
- 《中药学总论》课件2
- 幼儿美术课件-红灯笼
- 《中药商品鉴别菊花》课件
- 学校大门及围墙工程施工组织设计
- 军队文职考试《公共科目》试题及解答参考(2025年)
- GB/T 44731-2024科技成果评估规范
- 2023-2024学年广东省广州市越秀区九年级(上)期末语文试卷
- 2023年上海交响乐团招聘工作人员考试真题
- 医院药品过期处理与废物管理制度
- 2024-2025学年北师大版数学八年级上册期末综合测试卷
- 2025年中考数学考点分类专题归纳之二次函数
- 2024年宝剑项目可行性研究报告
- 2.2 更好发挥政府的作用 (课件) 2024-2025学年高中政治 必修2 经济与社会
- 房屋建筑和市政基础设施工程施工招标文件范本(2022年版)
评论
0/150
提交评论