- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《汇编语言》研究试验报告.doc
研究实验一
搭建一个精简的C语言开发平台
研究目的
通过搭建C语言开发平台,认识到汇编语言对于深入理解其他领域知识的重要性。
对前面所学习的汇编知识进行融合贯通。
对用研究的方法进行学习进行体验
培养自己独立研究问题的能力。
研究原理
我们要搭建一个精简的C语言开发平台,必须要对C语言开发环境有一个清晰的认识了解。TC2.0软件里有很多子文件和文件夹,而我们的目的是搭建一个精简的C语言开发平台,顾名思义就是要找出我们编译连接程序必须的文件,其他的文件就可以不要。我们可以在程序编译连接中,根据出现的错误,一步一步去把我们程序必须的文件夹找出来。
研究步骤和过程
安装TC2.0在D盘根目录下,文件名为“TC2.0”。
在C盘根目录下建立一个文件夹“minic”用来存放我们已知解决问题要有的程序和文件。在DOC环境下,输入下面的指令:c:\md minic
把TC.EXE文件拷贝到minc文件夹里,具体操作如下:在DOC中,minic目录下输入如下指令:
Copy d:\tc2.0\tc.exe
打开TC2.0输入程序,保存,其文件为“WO.C” 同时设置TC2.0的工作路径,如下图
设置后,保存好。
进行编译:
编译成功显示:
生成文件WO.OBJ
连接:
出现错误,显示连接错误:不能打开C0S.OBJ文件
查找C0S.OBJ文件,复制到文件夹minic
按照步骤6和7的方法,连续找出缺失的必须文件,拷贝到minic文件夹,直到成功生成WO.EXE文件,完成后minic文件夹里有如下图的文件:
遇到的问题与总结
在把TC2.0中的内容拷贝到minic文件时,自己指令输错了,后来通过多次试验终于成功了,至此发现自己对DOC的很多指令很不熟悉,今后还的加强在这方面的学习。
在找C0S.OBJ时把其中的“0”看成是字母‘o’,导致一直找不到文件,疑惑了不久,后来去查找TC2.0文件夹,才发现其中的是数字0不是字母o.
通过这个问题感觉自己还不细心,做程序最重要就是要非常细心,不能出一点擦错。
3. WO.EXE文件生成了,自己去验证了下,发现在程序开始加一个“#include”就识别不了了。这个精简的C语言开发平台局限性很大。
4.自己研究了一下,tc里的路径设置,tc保存路径需要生成TCCONFIG.TC文件和TCPICK.TCP文件,这两个文件默认放在C旁的根目录下。
研究实验二
使用寄存器
研究目的
对前面所学习的汇编知识进行融合贯通。
对用研究的方法进行学习进行体验
培养自己独立研究问题的能力。
研究步骤和思考
编写一个程序yan2.c
编译连接yan2.c,生成了yan2.exe文件,保存在minic中。
用Debug加载yan2,exe之后,用u命令查看其机器码和汇编代码。
自己想了下没找到对应的机器码。
找main函数在代码段中的偏移地址。
在tc中输入,然后编译连接;
在DOS运行他wo.exe,得到main的偏移地址是1fah
自己在别的程序中也打印了main的偏移地址,发现也是1fah。由此我得出一个结论:main的偏移地址是固定的。
对于为什么能打印main的偏移地址,我认为main就相当于一个标号,但这个标号在一定条件下是固定的,不能更改,我试了用别的字母代替main,编译出错。
用debug查看1fah处得指令
和C程序一一对应
验证:C语言将函数实现为汇编语言中的子程序
编写ur2.c,用DEBUG跟踪。
Call 020b相当于调用f(void)
子程序返回,返回值放在了AX中为3。
证明了 我们的设想是对的。
遇到的问题与总结。
第一次编写yan2.c时,我以为寄存器大小写一样可以,就把_AX写成了_ax发现编译错误了,证明了我的假设是错误的。
在用U查看yan2.exe的代码时,为什么代码不是从main的偏移地址开始的,而开始的那端代码是有什么作用类?,这里有个疑问,有待研究下面的试验。
研究实验三
使用内存空间
研究目的
您可能关注的文档
- A基础B应用.doc
- dlg_生产成本分析.ppt
- DSP技术课程设计实验报告.doc
- ee考试测试题.doc
- FTTH工程常用测试方法.ppt
- GEE轨道小车的性能及操作步骤.doc
- HACCP原理专题讲座.ppt
- HNP反应粘结型防水卷材与传统防水卷材性能对比.doc
- MOOC环境下高等教育混合学习模式学习效果研究.doc
- SDCCH容量优化方法和案例介绍.ppt
- 制动系统的特点项目一58课件.pptx
- 直接工程费价外运杂费填料费铁路工程施工组织与概预算78课件.pptx
- 主备用控制中心的切换LCF300型25课件.pptx
- 智能交通系统的相关技术任务三车辆自动驾驶技术王怡安徽交通6.pptx
- 智能交通监控系统任务三城市交通诱导系统诱导系统的组成王怡安.pptx
- 智能交通监控系统任务二城市交通监控系统王怡安徽交通67课件.pptx
- 直升机的特点和分类空气动力学基础与飞行原理86课件.ppt
- 直升机的飞行性能空气动力学基础与飞行原理67课件.ppt
- 职业形象塑造3职业教育国际邮轮乘务管理专业教学化妆与形象设.pptx
- 轴向拉压杆件的线应变和胡克定律张亚琴河北交通52课件.pptx
最近下载
- 基于智能化技术的供水管网漏点判定与修复管理模式.pptx
- 2023-2024学年沪科版(2019)高中信息技术必修二第三单元项目五《规划并连接数字家庭系统的网络——组建小型信息系统网络(一)》说课稿.docx VIP
- 北京市城镇供水厂生产安全事故隐患目录.pdf VIP
- 业主委员会委员候选人推荐表.docx VIP
- NB-T35003-2023水电工程水情自动测报系统技术规范.pdf VIP
- 2025年高考英语陕西卷含解析及答案.docx VIP
- 2025年管道直饮水项目可行性研究报告.docx
- 地理信息安全在线培训考试题目完整版答案.docx
- 幼儿园区域活动的实施策略.pptx
- 10kV及以下变电所设计规范.pdf VIP
文档评论(0)