《汇编语言》教案
课程类别:专业基础课
课程性质:必修
开课专业及年级:计算机科学与技术专业,大二
课程教学总学时数:56
学时分配:课堂讲授40学时,实验16学时
教材名称:IBM-PC汇编语言程序设计(第2版),沈美明温冬婵编著,清华大学出版社
考核方式:笔试80%,实验10%,平时10%
第1周第1 次课
第一章基础知识(2个学时)
教学目的及要求:
汇编语言清华大学出版社1.建立二进制信息的概念;
2.掌握各种数制间的变换方法;
3.掌握补码的概念、原理和运算规律;4、掌握几种基本的逻辑运算
教学内容提要:
1.0 汇编语言与高级语言的区别及其应用场合
1.1数制
1.2数制之间的转换
1.3 算术运算和逻辑运算
1.4数和字符的表示
教学重点与难点:
(1)理解不同进位记数制可以表达同一个数,如同一个人可以有很多名字一样。理解计算机系统使用的数据都是二进制形式,但是人类所习惯的数据表达方式是十进制形式。
(2)关于数制之间的转换重点掌握十进制数与二进制数间的转换,二进制与八进制、十六进制间的相互转换,主要要求对整数的转换熟练,小数转换掌握方法即可。
(3)理解二进制数真值与二进制编码之间的概念区别,掌握真值与原码、补码间的相互转换。
(4)理解原码符号与补码符号间质的区别
(5)掌握变反加1方法,并深刻理解它的各种运用场合
讨论问题:
(1)二进制数的真值与编码间的区别是什么?
(2)为什么在计算机系统中需要使用编码而不能直接使用真值?
(3)原码与补码的符号间有什么样的区别?
(4)变反加1有哪些应用场合?怎样解释它的应用原理?
教学手段:讲授为主,讨论为辅,采用多媒体辅助教学
------------------------------------------------------------------------------------------------------- 第1周第2 次课
第二章80x86计算机组织(2个学时)
教学目的及要求:
1.了解计算机系统的基本结构;
2.了解计算机系统的基本工作原理;3.理解在8086/8088系统中,逻辑地址与物理地址间的相互联系和转换机制;4.准确理解8086/8088 CPU中各寄存器的基本功能;5.准确理解标志寄存器中各标志位的含义以及实用价值;6.理解内存的编址方式,数据在内存中的存放形式,理解内存中段的组织形式以及各个段的含义;7掌握实模式下存储器寻址方法,了解保护模式存储器寻址方法;8.理解外部设备的管理方法。
教学内容提要:
2.1 80x86处理器计算机系统
2.2基于微处理器的计算机系统构成
2.2.1 硬件
2.2.2 软件
2.3中央处理机
2.3.1 中央处理机CPU的组成
2.3.2 80x86寄存器组
2.4存储器
2.4.1 存储单元的地址和内容
2.4.2 实模式存储器寻址
2.4.3 保护式存储器寻址
2.5外部设备
教学重点与难点:
(1)理解逻辑地址与物理地址间的关联以及转换机制
(2)建立内存的分段管理概念,理解四种段类型的含义
(3)理解标志寄存器中每个标志位的确切含义、实用价值,特别注意CF、OF 这两个理解困难的标志位
(4)理解标志位是否有意义与人对数据的具体解释有关,这是一个容易引起困惑的问题
讨论问题:
(1)为什么在CPU内部不能直接使用物理地址?
(2)8086系统存储器为什么要分段,如何分段?物理地址如何形成?
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
------------------------------------------------------------------------------------------------------- 第2周第1 次课
第3章80x86的指令系统和寻址方式(8学时)(第一部分)
教学目的及要求:
1.了解8086/8088机器指令的构成;2.准确理解8086/8088 CPU每种寻址方式的确切含义;3.了解程序占用空间和执行时间的概念。
教学内容提要:
3.1 80x86的寻址方式
3.1.1 与数据有关的寻址方式
3.1.2 与转移地址有关的寻址方式
3.2 程序占有的空间和执行时间
教学重点与难点:
(1)理解各种寻址方式的含义、用途,特别是存储器寻址中的几种方式。(2)注意理解立即数寻址与存储器直接寻址的区别;寄存器寻址与寄存器间接寻址的区别;
(3)段内寻址与短间寻址的区别;
讨论问题:
(1)寻址方式的本质是什么?为什么会出现多种寻址方式?
(2)立即数寻址与存储器寻址有什么重要的区别?二者有没有相似的地方?
(3)数据寻址和跳转指令的寻址的区别?
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
------------------------------------------------------------------------------------------------------- 第2周第2 次课
第3章80x86的指令系统和寻址方式(8学时)第二部分
教学目的及要求:
1.准确理解指令系统中部分指令的含义、用途、执行过程、标志位解释,以及使用时需要注意的问题;2掌握调试工具DEBUG的基本使用方法
教学内容提要:
3.3 80x86的指令系统
3.3.1 数据传送指令
3.3.2 算术指令(第一部分)
教学重点与难点:
(1)理解指令的各种分类方法,部分指令的含义、用途、基本时序过程、对标志位的解释,注意几种地址装入指令的区别,避免混淆;(2)着重理解指令构成中的隐含操作数、隐含寻址方式,理解隐含寻址与非隐含寻址在控制上的区别;(3)理解堆栈的基本使用方法,区分栈底、栈顶、堆栈指针初始位置等容易混淆的概念;(4)算术指令对CF、OF标志的影响情况;(5)理解DEBUG工具的基本使用方法,包括DEBUG中几种基本命令的使用方法以及所显示信息的含义。
讨论问题:
(1)隐含寻址与显示操作数的寻址有何区别?
(2)LEA和LDS指令各自的功能是什么?二者之间有何质的区别?
(3)栈顶、栈底分别由何种器件指示?SP、SS中的内容与栈顶、栈底有什么样的区别、联系?
(4)在机器上调试一个小的程序片段,让同学们按步骤分析、解释当前使用的DEBUG命令、所显示的内容等。
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
------------------------------------------------------------------------------------------------------- 第3周第1 次课
第3章80x86的指令系统和寻址方式(8学时)第三部分
教学目的及要求:
1.准确理解指令系统中部分指令的含义、用途、执行过程、标志位解释,以及使用时需要注意的问题;2.根据课件中对指令执行的描述体会逻辑指令和字符
串处理指令的执行过程。
教学内容提要:
3.3.2 算术指令(第二部分)
3.3.3 逻辑指令
3.3.4 串处理指令(第一部分)
教学重点与难点:
(1)着重理解指令构成中的隐含操作数、隐含寻址方式,理解隐含寻址与非隐含寻址在控制上的区别;(2)理解各种寻址方式的含义、用途,特别是存储器寻址中的几种方式,注意理解立即数寻址与存储器寻址的区别;(3)理解部分指令的含义、用途、对标志位的解释;(4)串处理指令的特殊性及一般用法;(5)理解DEBUG工具的基本使用方法,包括DEBUG中几种基本命令的使用方法以及所显示信息的含义。
讨论问题:
(1)多字或多字节加法是如何完成的?先对低字节进行运算还是高字节?多字或多字节减法又是怎样完成的?(2)NEG指令的操作数可以解释为无符号数吗?CF标志是如何判断的?(3)CMP指令与TEST指令的功能分别是什么?在程序设计中,它们主要针对什么用途?(4)对于逻辑左移指令OF标志什么情况下才有意义?对于算术右移指令OF标志有什么样的特征?对于各种循环移位指令,OF标志什么情况下有意义?
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
------------------------------------------------------------------------------------------------------- 第3周第2 次课
第3章80x86的指令系统和寻址方式(8学时)第三部分
教学目的及要求:
1.准确理解指令系统中部分指令的含义、用途、执行过程、标志位解释,以及使用时需要注意的问题;2.串处理指令的特殊性及一般用法;3.控制转移指令的用途及使用方法4.理解DEBUG工具的基本使用方法,包括DEBUG中几种基本命令的使用方法以及所显示信息的含义。
教学内容提要:
3.3.4 串处理指令(第二部分)
3.3.5 控制转移指令(有关子程序操作命令放到第6章介绍)
3.3.6 处理机控制与杂项操作命令
教学重点与难点:
(1)串处理指令的使用方法;(2)串处理时的方向控制;(3)有符号和无符号的跳转指令的不同及测试条件的区别;
讨论问题:
(1)重复前缀和循环指令在使用时的区别?(2)有符号数与无符号数在比较时为什么会不同?
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
------------------------------------------------------------------------------------------------------- 第4周第1 次课
第4章汇编语言程序格式(4个学时)第一部分
教学目的及要求:
1.了解汇编程序功能;2.掌握各个伪指令的功能和使用方法;3.掌握伪指令与指令的重要区别;5.理解程序的段结构,掌握定义段的语法要素;6.掌握各个段寄存器的各种初始化方法。
教学内容提要:
4.1 汇编程序功能
4.2 伪操作
4.2.1 处理器选择伪操作
4.2.2 段定义伪操作
4.2.3 程序开始和结束伪操作
4.2.4 数据定义及存储器分配伪操作
教学重点与难点:
(1)在理解伪指令功能的基础上,着重理解伪指令与指令的本质区别;(2)理解汇编语言中表达式与高级语言中表达式的本质区别;(3)在理解程序的段结构基础上,着重理解各个段寄存器的初始化方法;(4)理解两种源程序框架的原理,特别注意理解在每种框架中应用程序与操作系统交接CPU控制权的方法。
讨论问题:
(1)指令与伪指令有何区别?(2)两种源程序框架对于CPU控制权的交接有何不同?
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
-------------------------------------------------------------------------------------------------------
第4周第2 次课
第4章汇编语言程序格式(4个学时)第二部分
教学目的及要求:
1.掌握各个伪指令的功能和使用方法;2.掌握伪指令与指令的重要区别;3.掌握汇编语言表达式与高级语言表达式的本质区别;4.掌握汇编语言程序格式;5.熟悉汇编语言程序的上机过程;6.掌握两种可执行文件的区别。
教学内容提要:
4.2 伪操作
4.2.5 表达式赋值伪操作EQU
4.2.6 地址计数器与对准伪操作
4.2.7 基数控制伪操作
4.3 汇编语言程序格式
4.3.1 名字项
4.3.2 操作项
4.3.3 操作数项
4.3.4 注释项
4.4 汇编语言程序的上机过程
4.4.1 建立汇编语言的工作环境
4.4.2 建立ASM文件
4.4.3 产生OBJ文件
4.4.4 产生EXE文件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论