- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
研究实验四 不用main函数编程研究目的对前面所学习的汇编知识进行融合贯通。对用研究的方法进行学习进行体验培养自己独立研究问题的能力。研究步骤和思考结果编写一个程序f.c研究如何进行编译连接:编译可以成功,连接出错。显示错误:这个错误可能与C0S。obj有关系。用link.exe对生成的obj文件进行连接,生成exe文件,用Debug 加载,观察程序汇编代码,思考:f.exe程序代码有1dh个字节;研究发现f.exe不能正常返回;f函数的偏移地址是0000h。编程:m.c 编译连接后用debug 加载开始: 结束:思考总结:m.exe总代码是0ec8h字节,m.exe可以正常返回,main函数和f函数指令一样,思考与结果: 用Debug对m.exe进行跟踪,找到对main函数进行调用的指令的地址为011a,:整个程序的返回是下面第一个ret: 研究main函数和c0s.obj的关系。研究步骤:用link.exe对c:\minic目录下的c0s.obj进行连接,生成c0s.exe用Debug查看cos.exe的汇编代码和m.exe的汇编代码,找到m.exe中的调用main函数的call指令的偏移地址,从这个偏移地址开始向后查看10条指令,然后用debug加载c0s.exe,从相同的偏移地址开始向后察看10条指令。对两处得指令进行比较。m.exe 的汇编代码:C0s.exe的汇编代码:结果分析和问题结果:比较两处指令发现call 后面的地址发生了变化,也就是说调用的子程序的偏移地址不一样。Tc.exe把c0s.obj同用户.obj一起进行连接,生成.exe文件。对main函数调用的指令和程序返回指令是c0s.obj提供的。我们用link.exe可以连接c0s.obj来生成exe文件,然后用debug加载,这样就可以查看c0s.obj文件中的程序代码了。经验证c0s.obj文件里有我们设想的代码。6. 自己编写一个程序c0s.asm,然后编译为c0s.obj,替代c:\minic目录下的c0s.obj。如下:用masm.exe编译之后生成了文件c0s.obj,然后把其拷贝到c:\minic目录下,覆盖掉原来的c0s.obj。 在c:\minic目录下,用tc.exe将f.c重新编译,连接, 生成f.exe。 成功地生成了.exe文件。 然后用debug 查看。 上图中 call 0012指令就是去执行f.exe的代码。8. 在新的c0s.obj的基础上,写一个新的f.c,向安全的内存空间写入从“a”到“h”的8个字符。分析,理解f.c。程序f.c如下: 然后进行编译连接,成功生成了f.exe。 #define是宏定义,意思是把程序中的Buffer全部物理替换为((char?*)*(int?far?*)0,((char?*)*(int?far?*)0表示 地址为0的内存中的内容,?Buffer?=?0;? ;将地址为0内存中的内容修改为0.??Buffer[10]?=?0;把0赋值给ds:[0+10],字节操作。下面 while是一个循环语句:循环条件是:Buffer[10]不等于8。 语句主体是:把a到h的8个字符依次放到,[0],[1],…[7]里。收获与感受做完这个研究试验,我明白了在前几个试验中,如果没有main函数为什么不就不能生成exe文件,是因为TC中的c0s.obj需要和main函数一起连接,现在自己可以不用main函数,也可以编写C程序了,还学会了怎么自己编写c0s.obj文件。
您可能关注的文档
- 物化视图几个知识点.doc
- 爆破设计施工方案20151019(浙江省乐清湾大桥及接线工程第YS07合同段).docx
- 燃煤锅炉清洁能源改造方案如何为企业带来巨大的经济效益.docx
- 物料免检管理制度3.doc
- 物流成本高的原因及降低物流成本的对策.docx
- 牙一中下期中生物考试试题模板.doc
- 物理中考易错题2含答案.docx
- 物管代收快递每件要收5角钱元芳.doc
- 物料取样管理规程.doc
- 物联网笔试题.docx
- 2025年服务行业技能考试-人才中介师考试近5年真题荟萃附答案.docx
- 2025年服务行业技能考试-人才中介师考试近5年真题集锦(频考类试题)带答案.docx
- 2025年服务行业技能考试-促销员职业化考试近5年真题荟萃附答案.docx
- 2025年服务行业技能考试-保洁员考试近5年真题集锦(频考类试题)带答案.docx
- (八省联考)2025年天津市新高考综合改革适应性演练数学试卷带解析审定版.docx
- 2025年服务行业技能考试-保洁员考试近5年真题荟萃附答案.docx
- 校园欺凌PPT精品课件.pptx
- 2025年服务行业技能考试-健身教练考试近5年真题集锦(频考类试题)带答案.docx
- 2025年服务行业技能考试-修脚师考试近5年真题荟萃附答案.docx
- 2025年服务行业技能考试-公关员职业资格考试近5年真题荟萃附答案.docx
文档评论(0)