大连理工大学计算机原理实验第一次实验.doc_第1页
大连理工大学计算机原理实验第一次实验.doc_第2页
大连理工大学计算机原理实验第一次实验.doc_第3页
大连理工大学计算机原理实验第一次实验.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学实验报告实验室(房间号): 420 实验台号码: 班级: 电通1402 姓名: 糜智华 指导教师签字: 成绩: 实验 一 汇编语言上机操作&动态调试程序DEBUG的使用&运算类程序设计一、实验目的和要求1. 熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序。2. 熟练掌握宏汇编程序MASM或TASM的使用。3. 熟练掌握连接程序LINK或TLINK的使用。4. 了解DEBUG或TD的特点和使用方法。5. 学习使用DEBUG程序的各种命令。6. 了解计算机取指令、执行指令的工作过程。7. 利用DEBUG学习8086/8088CPU指令系统。8. 掌握用DEBUG调试用户程序的方法。9. 掌握运算类指令对各状态标识位的影响及其测试方法。10. 掌握使用运算类指令编程及调试方法。二、实验算法数据段:定义变量buf为平方数0100h,定义变量result为开方数。堆栈段:不妨取100个单元代码段: start:取数据段段地址并且将bx置1,cx置0。circle:buf=buf-bx(即奇数bx从1开始)减完后如果buf大于等于零,则bx=bx+2,cx=cx+1,并且重复循环;如果buf小于零则调到over。over:将cx赋给result,并退出。3、 实验流程图初始化Data1AXData2BX0 CX(AX)(BX)(AX)(BX)? N Y(BX)+2(CX)+1 取CX的值结束四、程序清单datasegment;数据段 bufdw 0100h;假设变量为0100h result dw 0000hdataendsssgsegmentstack;堆栈段dw100dup(0)ssgendscodesegment;代码段 assume cs:code,ss:ssg,ds:datastart:movax,data;取数据段段地址movds,axmovbx,1;bx置1,cx置0movcx,0circle: subbuf,bx;buf与bx相减cmpbuf,0;减完后的buf与零作比较jlover;(有符号数)小于则跳转addbx,2;若大于等于则bx+2,cx+1inccxjmpcircle;重复循环over:movresult,cx;将cx赋给resultint 20h;退出codeendsendstart5、 实验结果与分析(是否达到设计要求、出现的主要问题及解决方法) 编译链接结果如图1.1图1.1TD调试运行窗口如图1.2图1.2结果:cx寄存器为0010h,并且存储器里可以看到dw结构的result是第3、4个单元里的内容,即result为0010h。平方数为0100h,经此程序计算得到的开方数0010h,与预期相符。六、实验体会和建议第一次做实验,熟悉了dos操作环境,学习了使用TD和DEBUG调试程序的使用。在编程时要仔细,要搞清楚定义的数据在内存中的结构,编程时也要注意不要用错指令,需要扎实的基础知识储备,这样才能保证实验的速度和准确率。比如:1.在此次实验开始我用的无符号数比较跳转指令,观察到运行结果不对后,单步调试,发现应该用有符号数比较跳转指令。2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论