Skip to content

汇编语言程序设计

100415 汇编语言程序设计

一、总述

1. 课时安排

每周上 5 天课,共 2 周。

正常来说,下午不上理论课,在博楼二楼机房上机。上机时建议带自己的电脑。学校的电脑环境操作起来不方便。

2. 教材

暂无。大多使用课件。He 推荐王爽的汇编语言(ISBN: 9787302539414)。

3. 作业

作业分三类:

  1. 练习册
  2. 编程小作业
  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 下的运行结果。

每年的作业很可能不同(~~都是老师一拍脑袋想的~~)。

  • ppt 足以涵盖考试范围,结合总复习文档效果更佳;

  • 需要配置的环境文件,为了教学研究目的,也已经一并上传到同济云盘,提取码 1239

  • DOSBOX

  • masmPLUS
  • DEBUG32

注:

王爽的书采用的是 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

DOSBOXmasmPLUS 双击安装即可,DEBUG32 要拖到对应文件夹。

最后祝大家学习顺利!

91933 Zhang

文件列表