欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    华中科技大学汇编实验报告.docx

    • 资源ID:54376952       资源大小:173.92KB        全文页数:10页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    华中科技大学汇编实验报告.docx

    课 程 实 验 报 告课程名称: 汇编语言程序设计实验实验名称: 实验一 简单程序设计 TD的使用 实验时间: 2016-3-22,14:00-17:30 实验地点: 南一楼804室74号实验台指导教师: 张勇 专业班级:计算机科学与技术班学 号: U 姓 名: 唐礼威 同组学生: 无 报告日期: 2016年 3 月 23日原创性声明  本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文中指出。除文中已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。特此声明!学生签名: 日期: 成绩评定实验完成质量得分(70分)(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:                     日期:目录1实验目的与要求12实验内容13实验过程23.1任务123.1.1设计思想及存储单元分配23.1.2流程图23.1.3源程序23.1.4实验步骤23.1.5实验记录23.2任务243.2.1设计思想及存储单元分配43.2.2流程图43.2.3源程序43.2.4实验步骤43.2.5实验记录43.3任务363.3.1设计思想及存储单元分配63.3.2流程图63.3.3源程序63.3.4实验步骤73.3.5实验记录74体会7参考文献81 实验目的与要求掌握汇编源程序编译工具、汇编程序、连接程序、调试工具的使用;理解数、符号、寻址方式等在计算机内的表现形式;理解指令执行与标志位之间的关系;熟悉常用的DOS功能调用。2 实验内容任务1. 80X86汇编语言程序设计教材中 P31的 1.14题。要求:(1) 直接在TD中输入指令,完成两个数的求和、求差的功能(可以省略实验报告中的程序框图)。求和/差后的结果放在(AH)中。 (2) 请事先指出执行指令后(AH)、标志位 SF、OF、CF、ZF的内容。 (3) 记录上机执行后的结果,与(2)中对应的内容比较。(4)求差运算中,若将A、B视为有符号数,且A>B, 标志位有何特点?若将A、B视为无符号数,且A>B, 标志位又有何特点?任务2. 80X86汇编语言程序设计教材中 P45的 2.3题。要求:(1)可以省略实验报告中的程序框图和源程序。 (2)分别记录执行到“MOV CX,10”和“INT 21H”之前的(BX), (BP),(SI),(DI)各是多少。 (3)记录程序执行到退出之前数据段开始40个字节的内容,指出 程序运行结果是否与设想的一致。 (4)在标号LOPA前加上一段程序,实现新的功能:先显示提示信息“Press any key to begin!”, 然后,在按了一个键之后继续执行LOPA处的程序。任务3. 80X86汇编语言程序设计教材中 P45的 2.4题的改写。要求:(1) 实现的功能不变,对数据段中变量访问时所用到的寻址方式中的寄存器改成32位寄存器。 (2) 内存单元中数据的访问采用变址寻址方式。 (3) 记录程序执行到退出之前数据段开始40个字节的内容,检查 程序运行结果是否与设想的一致。 (4)在TD代码窗口中观察并记录机器指令代码在内存中的存放形式,并与TD中提供的反汇编语句及自己编写的源程序语句进行对照,也与任务2做对比。(相似语句记录一条即可,重点理解机器码与汇编语句的对应关系,尤其注意操作数寻址方式的形式)。(5)观察连续存放的二进制串在反汇编成汇编语言语句时,从不同字节位置开始反汇编,结果怎样?理解 IP/EIP指明指令起始位置的重要性3 实验过程3.1 任务13.1.1 设计思想及存储单元分配寄存器分配:一个AH,运算后的结果存储在AH中。3.1.2 流程图 无3.1.3 源程序无3.1.4 实验步骤1. 使用编辑程序EDIT.EXE录入源程序,存盘文件名为CUBE.ASM。2. 使用MASM5.0或6.0汇编源文件。即MASM CUBE;3. 观察提示信息,若出错,则用编辑程序修改错误,存盘后重新汇编,直至不再报错为止。4. 使用连接程序LINK.EXE将汇编生成的CUBE.OBJ文件连接成执行文件。即LINK CUBE;5. 若连接时报错,则依照错误信息修改源程序。之后重新汇编和连接,直至不再报错并生成CUBE.EXE文件。6. 执行该程序。即在命令行提示符后输入CUBE后回车,观察执行现象。3.1.5 实验记录(包括实验条件、输入/输出、错误和修改等信息的记录)1、 实验环境条件:P3 1GHz,256M内存;WINDOWS 2000命令行窗口;EDIT.EXE 2.0;MASM.EXE 6.0; LINK.EXE 5.2; TD.EXE 5.0。2、求和运算:mov ah,b add ah,b执行前:在add ah,b下一句设一断点,运行至断点停止执行后:分析结果:右边标志寄存器区o变为1,说明有溢出,c为0,说明没有进位3、求差运算:mov ah,b add ah,b执行后:分析结果:c变为1,说明产生进位3.2 任务23.2.1 设计思想及存储单元分配用到4个数据段BUF1-BUF4,一开始用4个寄存器SI、DI、BX、BP依次存储BUF第一个值,到后面用循环给BUF1-BUF4空间赋以不同的值。3.2.2 流程图 无3.2.3 源程序无3.2.4 实验步骤1. 使用编辑程序EDIT.EXE录入源程序,存盘文件名为CUBE.ASM。2. 使用MASM5.0或6.0汇编源文件。即MASM CUBE;3. 观察提示信息,若出错,则用编辑程序修改错误,存盘后重新汇编,直至不再报错为止。4. 使用连接程序LINK.EXE将汇编生成的CUBE.OBJ文件连接成执行文件。即LINK CUBE;5. 若连接时报错,则依照错误信息修改源程序。之后重新汇编和连接,直至不再报错并生成CUBE.EXE文件。6. 执行该程序。即在命令行提示符后输入CUBE后回车,观察执行现象。3.2.5 实验记录1、按f8进行单步调试,直到光标移到“MOV CX,10”Bx变为0014,bp变为001E,si为0000,di变为000A在mov ah,4c 一行按下f2设置断点,按下f9,将运行至该行,再按下f8,执行至“INT 21H”之前Bx变为001E,bp变为0028,si为000A,di变为00142、记录程序执行到退出之前数据段开始40个字节的内容:依次输出 0、1、2、3、4、5、6、7、8、90、1、2、3、4、5、6、7、8、91、2、3、4、5、6、7、8、9、104、5、6、7、8、9、10、11、12、13可见与预期结果相符。3、在代码中改写:在数据段中加入BUF5 DB 0AH,0DH,Press any key to begin!$再在LOPA前加上LEA DX,BUF5MOV AH,9INT 21H实现9号功能调用,在屏幕输出字符串在LOPA前加上MOV AH,1INT 21H实现1号功能调用,等待从键盘输入一个字符,一旦输入,继续程序执行,截图:3.3 任务33.3.1 设计思想及存储单元分配AL每循环一次+1,再赋给BUFESI相应的值,寄存器CX来控制循环次数。3.3.2 流程图 无3.3.3 源程序.386STACK  SEGMENT  USE16  STACK       DB  200  DUP(0)STACK  ENDSDATA  SEGMENT  USE16BUF1  DB  0,1,2,3,4,5,6,7,8,9BUF2  DB  10  DUP(0)BUF3  DB  10  DUP(0)BUF4  DB  10  DUP(0)DATA  ENDSCODE  SEGMENT  USE16      ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV  AX,DATA      MOV  DS,AX      MOV  ESI,0      MOV  CX,10LOPA: MOV  AL,BUF1ESI      MOV  BUF2ESI,AL      INC  AL      MOV  BUF3ESI,AL      ADD  AL,3      MOV  BUF4ESI,AL      INC  ESI      DEC  CX      JNZ  LOPA      MOV  AH,4CH      INT  21HCODE  ENDS      END  START3.3.4 实验步骤1. 使用编辑程序EDIT.EXE录入源程序,存盘文件名为CUBE.ASM。2. 使用MASM5.0或6.0汇编源文件。即MASM CUBE;3. 观察提示信息,若出错,则用编辑程序修改错误,存盘后重新汇编,直至不再报错为止。4. 使用连接程序LINK.EXE将汇编生成的CUBE.OBJ文件连接成执行文件。即LINK CUBE;5. 若连接时报错,则依照错误信息修改源程序。之后重新汇编和连接,直至不再报错并生成CUBE.EXE文件。6. 执行该程序。即在命令行提示符后输入CUBE后回车,观察执行现象。3.3.5 实验记录设断点在int 21那行,打开dump观察数据区的值如下:对比任务2中结果可知符合。4 体会这是汇编的第一次上机,总体来说比较顺利,因为在上机之前任务2和任务3的代码都早已写好,上机主要是熟悉编程和调试环境,学会如何将一个.asm文件编译成.obj文件,再将obj文件链接成一个exe文件,熟悉了td的环境及操作过程,对td的调试过程有一定的了解,主要是go to到指定的一行,和f2设置断点,以及单步执行,熟悉了td界面的各个区域及里面包含的内容,能够通过观察td里面的内容与代码联系起来分析。总体来说,这次实验收获颇丰。参考文献1 王元珍等.80x86汇编语言程序设计.版本(第1版) 2 王晓虹等.汇编语言程序设计教程.版本(第1版)

    注意事项

    本文(华中科技大学汇编实验报告.docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开