- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华中科技大学汇编语言程序设计实验报告(八)Win32编程.doc
课程实验报告
课程名称:汇编语言程序设计实验实验名称:实验五
课程名称:
汇编语言程序设计实验
实验名称:
实验五 Win32编程
实验时间:2017-5-3, 14: 30-17: 30实验地点: 南一楼804室45号实验台
指导教师: 李专
专业班级:计算机科学与技术
专业班级:
计算机科学与技术201502班
学 号: U201414596 姓 名: 卢振兴
同组学生: 报告日期: 2017年5月3日
原创性声明
本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的 引用己经在文中指出。除文中已经注明引用的内容外,本报告不包含任何其他个人或集体己 经公开发表的作品或成果,不存在剽窃、抄袭行为。
特此声明!
学生签名:卢振兴
H 期:2017.5.3
成绩评定
实验完成质最得分(70 分)(实验步骤清晰详细深 入,实验记录真实完整等)
报告撰写质量得分(30 分)(报告规范、完整、通 顺、详实等)
总成绩(100分)
指导教师签字:
H期:
1?实验目的与要求
熟悉WIN32程序的设计和调试方法;
熟悉宏汇编语言屮INVOKE>结构变量、简化段定义等功能;
进一步理解机器语言、汇编语言、高级语言之间以及实方式、保护方式之间的一?些关系。
2.实验内容
编写一个基于窗口的WIN32程序,实现学生成绩表信息的平均值计算及显示功能(借 鉴前面实验中的一些做法),具体要求如下描述。
功能一:编写一个基于窗口的WIN32程序的菜单框架,具有以下的下拉菜单项:
File Action Help
Exit Average About
List
点菜单File下的Exit选项吋结束程序;点菜单Help下的选项About,弹出一个消息框, 显示本人信息,类似图5.1所示。点菜单Action K的选项Average. List将分别实现计算平 均值或显示所有成绩的功能(详见功能二的描述)。
图5.1菜单示例
功能二:每个学生的相关信息包括:姓名(结尾含1个以上的数值0,共占10个字节),
语文成绩(1个字节),数学成绩(1个字节),英语成绩(一个字节),平均成绩(1个字节), 等级(1个字节)。要求采用结构变量存放学生的相关信息。学生人数至少5人。姓名和各 科成绩直接在数据段中给定,不必运行时输入。成绩表中最后一个学生必须使用自己的姓名。
点菜单项Average时,计算平均成绩并给出等级(等级的定义见实验一,但这里不用单 独显示等级)。平均成绩的计算仍按照实验一的公式进行。平均成绩和等级保存到上述结构 变量的相应字段中。用TD32观察计算结果。
点菜单项List时,耍求能在窗口中列出所有学生信息,包括姓名、各科成绩、平均成 绩、等级等。如图5.2所示。平均成绩尚未计算时,平均成绩及等级显示为空白。
Our First Window I o ||g回 I
file Action 上felp
List
Name
Chinese
Maths
English
Average
Grade
xueba
80
86
87
82
B
xuezha
46
55
58
50
F
zhangsan
70
86
87
77
C
lisigsan
67
76
61
68
D
wangwuan
11
56
69
69
D
chenliun
99
100
99
99
A
图5. 2成绩单显示示意图
上述任务中,思考或尝试的问题的提示:
安装MASM32软件包,观察MASM32软件包目录结构和环境配置。
试对\masm32\EXAMPLE 1 \3DFRAMES\下的例了,进行汇编、连接、运行和调试 (TD32.EXE观察WIN32执行程序代码的特点和执行流程。体会基于窗口的应用程序所
包含的四个部分Z间的衔接关系。
观察TD32与16位TD的界同。
调试WIN32程序与16位段程序的主要差界是什么?
尝试使川一下汇编语言程序的源码级调试工具和方法,与非源码级调试做个对比, 可以参考文献3。
用TD32观察代码区或数据区时,若所观察的地址范围不是与被调试程序相关的区 间,则对应内存中的数据会因为被系统保护了而读不出来(将用?代替),请通过修改偏移 地址来改变观察的区间,记录此现彖。
编写和处理简单资源脚木,装入菜单,观察效果。
观察收到的消息,记录每个菜单项或按键等操作所对应的消息信息。
比较DOS、Windows输出方式,观察Win32程序的儿种字符串输出方式所用函数的 原型。
观察结构变量的平均成绩等字段的偏移,体会结构变量优点。
观察简化段的效果。
观察Invoke语句翻译成机器码后的特点,记录参数压栈顺序。
本次实验需要突!1! WIN32的框架、调试方法、少16位段程序的区別等几个内容。
参考资料:
许向阳,《80X86汇编语言程序设计
文档评论(0)