汇编语言课程主页

【写在开课前】
  这学期,接了一门新课——汇编语言程序设计。
  这是门好课。学好了,能干的工作,那是高大上;职业中不指望自己的工具袋中备一把名叫“汇编”的榔头的同学,借着汇编语言,也可以练计算机专业学习的内功。
  新培养方案中恢复了这门课,我就想将捣鼓捣鼓这门课程。搞了好多年“计算”的事,早对自己离“计算机”有点远而不满。备课中,再回计算机的底层,重新体会“螺丝壳里做道场”的精致。
  教学模式继续翻转课堂,随着授课进度,同步建设资源。这样做,自己的时间会紧张,但有过了《数据结构》课程翻转的考验,还是有把握下来的。只不过,这门课的高度,不可以拨到与数据结构等齐,顺便探讨在翻转课堂背景下,降低学生学习负担的办法。如何让我的学生能学得有效,学得嗨皮,这是我要做的事。

【开课后】
  上路了,路就清楚了。这门课中,不再以积累代码量为其中的目标,因此,也就不要求我的学生都开博客了。利用博客提供一些资源,这还是要的。
  好吧,这门课将与之前的不一样,这一个“课程主页”是我的所有学生共享的“学习园地”。

【课程内容】
第1部分 绪论 视频及课件链接
第1章 基础知识
 0100 导学
 0101 为什么要学汇编语言
 0102 由机器语言到汇编语言
 0103 计算机的组成
 0104 内存的读写与地址空间
 0105 汇编语言实践环境搭建
 参考:1. 搭建x86汇编语言学习环境   2.Android手机玩8086汇编   3.让DOSBox启动后自动执行命令

 
第2部分 访问寄存器和内存 视频及课件链接
 0200 导学
第2章 寄存器
 0201 寄存器及数据存储
 0202 mov和add指令
 0203 确定物理地址的方法
 0204 内存的分段表示法
 0205 Debug的使用
  实验1 实验环境搭建与Debug使用
  答疑记录:机器码与汇编指令的对应关系用e命令为啥改不了内存的值?
 0206 CS、IP与代码段
 0207 jmp指令

第3章寄存器(内存访问)
 0301 内存中字的存储
 0302 用DS和[address]实现字的传送
 0303 DS与数据段
 0304 栈及栈操作的实现
 0305 关于“段”的总结

第3部分 汇编语言程序  视频及课件链接
 0400 导学
第4章第一个程序
 0401 用汇编语言写的源程序 例程
 0402 由源程序到程序运行
 0403 用Debug跟踪程序的执行

  
第5章(BX)和loop指令
 0501 […]和(…)
 0502 Loop指令 例程
 0503 Loop指令使用再例 例程
 0504 段前缀的使用 例程
  实验2-汇编语言程序框架
  编辑器配置(由我的学生贡献)
 
第6章 包含多个段的程序  
 0601 在代码段中使用数据 例程
 0602 在代码段中使用栈 例程
 0603 将数据、代码、栈放入不同段  例程
 
第4部分 内存寻址方式 视频及课件链接
 0700 阶段导学
第7章更灵活的定位内存地址的方法
 0701 处理字符问题  例程
 0702 [bx+idata]方式寻址  例程
 0703 SI和DI寄存器  例程
 0704 [bx+si]和[bx+di]方式寻址
 0705 [bx+si+idata]和[bx+di+idata]方式寻址
 0706 不同的寻址方式的灵活应用
 0707 不同寻址方式演示
 学生总结-2015
  实验3-寻址方式
  答疑记录:no stack segment警告为何还在? 毁掉自己的汇编程序
 
第8章数据处理的两个基本问题  
 0801 用于内存寻址的寄存器
 0802 在哪里?有多长?
 0803 寻址方式的综合应用 例程
 0804 用div指令实现除法
 0805 用dup设置内存空间
 学生总结-2015
 实践题目:求平均成绩(用汇编玩结构体) 冒泡排序

第5部分 流程转移与子程序 视频及课件链接
 0900 导学
第9章转移指令的原理
 0901 “转移”综述
 0902 操作符offset 例程
 0903 jmp指令 例程
 0904 其他转移指令 例程
  学生总结-2015
  实验4-利用跳转指令构造循环

第10章CALL和RET指令
 1001 call指令和ret指令 例程
 1002 call 和 ret 的配合使用 例程
 1003 mul 指令
 1004 汇编语言的模块化程序设计 例程
   - 应用:递归求年龄
 1005 寄存器冲突的问题 例程
 【知识拓展】 【参考例程

第11章标志寄存器  
 1101 标志寄存器
 1102 带进(借)位的加减法 例程 应用:双字运算
 1103 cmp和条件转移指令
 1104 条件转移指令应用 例程 
   - 应用:多数绝对值和统计数据个数统计0的个数找出最小值
       求最大数 计算分段函数将字符串中所有大写字符转为小写
 1105 DF标志和串传送指令 例程 
   - 应用:植入程序的程序(二)成绩分段统计批量复制并显示字符

第6部分 中断及外部设备操作 视频及课件链接
 1200 阶段导学
第11章(教材第16章)直接定址表
 1401 移位指令
 1601 操作显存数据 例程
 1602 描述内存单元的标号 例程
 1603 数据的直接定址表 例程
   - 应用:查表求平方成绩分段统计查表法找ASCII
 1604 代码的直接定址表 例程
   - 应用:简单的菜单
   
第12章(教材第12、13章)内中断
 1201 中断及其处理 例程
 1202 编制中断处理程序 例程
   - 应用:中断体验:观察自定义中断的安装及触发
 1203 单步中断
 1301 由int指令引发的中断 例程
 1302 BIOS和DOS中断处理  例程
   - 应用:输出对应的英文单词创建文本文件输数字,出字母
 
第14章(教材第14、15、17章)端口和外设控制
 1402 端口的读写  例程
   - 应用:哆瑞米发商拉西
 1403 操作CMOS RAM芯片  例程
   - 应用:显示时间(分秒)
 1501 外设连接与中断
 1502 PC机键盘的处理过程
 1503 定制键盘输入处理  例程
   - 应用:显示时间中产生键盘中断这是一个假游戏
 1504 改写中断例程的方法  例程
 1701 用中断响应外设  例程
 1702 应用:字符串的输入  例程
 1703 磁盘读写
 1704 发声程序  例程 

第7部分 高级汇编语言技术 视频及课件链接
 

发布了2342 篇原创文章 · 获赞 4692 · 访问量 852万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览