汇编语言程序设计
100415 汇编语言程序设计
一、总述
1. 课时安排
每周上 5 天课,共 2 周。
正常来说,下午不上理论课,在博楼二楼机房上机。上机时建议带自己的电脑。学校的电脑环境操作起来不方便。
2. 教材
暂无。大多使用课件。He 推荐王爽的汇编语言(ISBN: 9787302539414)。
3. 作业
作业分三类:
- 练习册
- 编程小作业
- 暑假大作业
练习册在一开始分发,按要求完成即可。
上机时可以提交课时作业。作业一共有 5 个。某些作业上机时间不一定足够。按规定,上机结束后提交作业。但时间通常会被放宽。
极不建议迟交或不交作业。作业占比不大,但不可或缺。
除了平常的 5 个小作业,还有暑假完成的大作业。
大作业为 4 选 1,根据学号被迫选择。4 道题的难度不一。
大作业需要撰写实验报告。如果大作业想要得好成绩,可以卷。但老师不看功能上的卷,基本把重点放在报告 有无错别字,封面是否好看,排版是否美观 等处。
4. 考试
考试内容较为简单,多出自课件。除此之外,题库和练习册中的题目也有一定涉及。
考卷构成类似 高级语言程序设计。基础知识在前(比如各自标志位和中断),分析题在中,最后是编程题等等。
监考不严,非常松。
(注:2020 年小学期因疫情原因取消了考试)
90821 Pei
91752 He
更新学期:23242
课程说明
- 知识点:硬件基础(考、少)、汇编指令(考、多)、32 位汇编(不考)、产业界动态(不考);
- 授课时间:上午 8:30-11:20,在教室上理论课,按座位表就坐,每天考勤(考勤方法是看一行有没有缺人,老师的记忆力不错)。周一到周五,上两周。下午用自己的电脑写作业,教室可去可不去(其他班应该是要去的),老师在教室答疑。
- 作业:有时候是练习文档,当天提交;有时候是编程作业,可以晚一些交。提交到课程 QQ 群;
- 课件:比较有干货的课件已上传,其他的ppt比较水,如关于业界动态等等,不在考试范围(他也不发);
- 考试:开卷考试,可以携带纸质资料,两个小时。考前会发一份总复习文档,最后一节课以文档为线索复习,文档中的不少题都是最终考试的原题或蓝本。平时上课的时候也会暗示或明示期末考题某些空的答案;
- 题型:选择或填空(20 道),程序源代码与截图的对比,程序挖空(共 3 道大题),同时要提交课程反馈表;
- 总体评价:虽然讲的一般;但课程水,事情少(和另外两个班相比);虽然作业描述不清(和渣哥没法比,看看作业文档就知道了),难度陡增,可能需要 AI 辅助完成;用王爽的书自学,效率更高;但考前的复习课会划重点,一定要好好听(他只讲知识点,不一定会给出答案,也不会发答案到群里);期末不难,有些人可以在一小时左右完成,大部分人一个半小时左右足矣。
总体来说,事情少,适合自学,考试很友好。
资料说明
资料文件夹参见同济云盘,提取码 1239。
- 练习主要是一些知识性的内容;
- 实验作业需要上机编写
- 实验 1 是用 C 语言进行编程,不需要汇编的知识;
- 实验 2 使用
masmPLUS
编程,用DEBUG32
把程序运行的结果截图下来; - 实验 3 采用在 C 程序中嵌入汇编的方式完成(
_asm
),输出部分使用printf
,核心操作使用内嵌汇编; - 实验 4 用 C 语言编写程序,将其反汇编成
.asm
文件,删除不必要的配置代码,保留核心代码段,并把 32 位的操作修改为 16 位的,提交Debug
下的运行结果。
每年的作业很可能不同(~~都是老师一拍脑袋想的~~)。
注:
王爽的书采用的是 DEBUG
,而不是 DEBUG32
,我们用 DEBUG32
,二者差别不大,但为了和学校要求一致,这里提供 DEBUG32
。
环境配置
DOSBOX
masmPLUS
DEBUG32
其中,
DOSBOX
是运行汇编代码的环境,类似于一个虚拟机,由汇编文件生成的.exe
文件只能在这里面运行,使用方法很简单;
注:
每次使用之前需要 mount
并切换到 mount
的目录,似乎只需要强调这一点,见一个例子;
cmd
mount c: c:/assembly/project # 前面是 DOS 的目录,后面是操作系统(Win11..)的目录,相当于构建了一个映射
c: # 切换工作目录为 C:(默认是 Z:),这样 DOS 就可以访问到 c:/assembly/project 下的文件
注意,要把 DEBUG32
,.asm
文件放入到操作系统的目录,DOS
才能访问到对应文件。
-
masmPLUS
是一个汇编编译器,类似于VS之于C语言,可以编译、链接.asm
文件,注意如果不愿意按照它给的模板为基础进行编译,想新建一个空白文件的话,一定要在首行加上;#Mode=DOS
,否则编译报错,这应该是编译器的约定; -
DEBUG32
是查看程序运行过程中,内存与寄存器变化的程序,使用DEBUG32 foo.exe
来运行DEBUG32
。
DOSBOX
和 masmPLUS
双击安装即可,DEBUG32
要拖到对应文件夹。
最后祝大家学习顺利!
91933 Zhang
文件列表
- 100415_汇编语言程序设计
- doc
- 上机题目
- 大作业
- 考试题库_练习题_答案
- 课件ppt
- exercise
- template
- doc