Skip to content

Commit

Permalink
更新对汇编语言课程的评价,23242学期 (#65)
Browse files Browse the repository at this point in the history
* Prepare original files without descriptions

* 最终稿

* Update 23242-Assembly

* Modified README.md. Adjusted format.

* 增加了更新学期于 README.md

* Adjust Format again

* Transfer binary files to links, which refer to Tongji Yunpan

* 修改失效链接
  • Loading branch information
XiaLing233 authored Aug 12, 2024
1 parent 7caface commit 1d67866
Showing 1 changed file with 72 additions and 4 deletions.
76 changes: 72 additions & 4 deletions 100415_汇编语言程序设计/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

#### 2. 教材

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

#### 3. 作业

Expand Down Expand Up @@ -44,8 +44,76 @@

**注:2020 年小学期因疫情原因取消了考试**

### 10041501
### 90821 Pei

### 10041502
### 91752 He

### 10041503
#### 更新学期:23242

#### 课程说明

* **知识点**:硬件基础(考、少)、汇编指令(考、多)、32 位汇编(不考)、产业界动态(不考);
* **授课时间**:上午 8:30-11:20,在教室上理论课,按座位表就坐,每天考勤(考勤方法是看一行有没有缺人,老师的记忆力不错)。周一到周五,上两周。下午用自己的电脑写作业,教室可去可不去(其他班应该是要去的),老师在教室答疑。
* **作业**:有时候是练习文档,当天提交;有时候是编程作业,可以晚一些交。提交到课程 QQ 群;
* **课件**:比较有干货的课件已上传,其他的ppt比较水,如关于业界动态等等,不在考试范围(他也不发);
* **考试****开卷考试,可以携带纸质资料**,两个小时。考前会发一份总复习文档,最后一节课以文档为线索复习,文档中的不少题都是最终考试的原题或蓝本。平时上课的时候也会暗示或明示期末考题某些空的答案;
* **题型**:选择或填空(20 道),程序源代码与截图的对比,程序挖空(共 3 道大题),同时要提交课程反馈表;
* **总体评价**:虽然讲的一般;****课程水,事情少(和另外两个班相比);虽然作业描述不清(和渣哥没法比,看看作业文档就知道了),难度陡增,可能需要 AI 辅助完成;用王爽的书自学,效率更高;****考前的复习课会划重点,一定要好好听(他只讲知识点,不一定会给出答案,也不会发答案到群里);期末不难,有些人可以在一小时左右完成,大部分人一个半小时左右足矣。

总体来说,事情少,适合自学,考试很友好。

#### 资料说明

资料文件夹参见[同济云盘](https://yunpan.tongji.edu.cn/link/AAA94AFA595AE94EB6963EA0D3E854D860)**提取码 1239**

* **练习**主要是一些知识性的内容;
* **实验**作业需要上机编写
* 实验 1 是用 C 语言进行编程,不需要汇编的知识;
* 实验 2 使用 `masmPLUS` 编程,用 `DEBUG32` 把程序运行的结果截图下来;
* 实验 3 采用在 C 程序中嵌入汇编的方式完成(`_asm`),输出部分使用 `printf`,核心操作使用内嵌汇编;
* 实验 4 用 C 语言编写程序,将其反汇编成 `.asm` 文件,删除不必要的配置代码,保留核心代码段,并把 32 位的操作修改为 16 位的,提交 `Debug` 下的运行结果。

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

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

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

* [DOSBOX](https://yunpan.tongji.edu.cn/link/AAA0EB62F3056043F4805A4D1EFE96E5DD)
* [masmPLUS](https://yunpan.tongji.edu.cn/link/AAFC25BFCB2F9C4C6BB75ABCAFE43066CA)
* [DEBUG32](https://yunpan.tongji.edu.cn/link/AA5E7580EA15694137990F3005ABCF28CF)

**注:**

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

0 comments on commit 1d67866

Please sign in to comment.