《汇编语言》教案.docx
- 文档编号:15152149
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:31
- 大小:148.85KB
《汇编语言》教案.docx
《《汇编语言》教案.docx》由会员分享,可在线阅读,更多相关《《汇编语言》教案.docx(31页珍藏版)》请在冰点文库上搜索。
《汇编语言》教案
广东学院
教师教案
(2020-2021学年第二学期)
课程名称:
汇编语言
授课班级:
使用教材:
汇编语言(第3版)
任课教师:
所属系部:
教研室:
教 务 处 制
教案编写说明
教案按每二节课进行编写,其进度应与授课计划相同。
教案可以是打印稿也可以是手写稿。
教案基本要素包括:
1、课堂教学目的及要求:
本次课的教学目的及要求。
2、课堂教学重点及难点:
根据教学大纲要求,确定课堂教学知识信息的重点、难点。
3、教学过程:
这是整个教案的主体部分,既体现出教学活动的逻辑程序,又要划分出若干环节或步骤,并考虑到它们的时间分配、具体方法的应用,相互间的衔接、过渡,以及教学过程与板书的协调等等,充分反映教师教学设计思想,体现教师的教学经验和风格。
4、课后作业与思考题:
指本次课结束后需要布置的作业与思考题。
第1次课2学时
教师教案
授课章节
第一章基础知识
课堂教学
目的及要求
1.建立二进制信息的概念;2.掌握各种数制间的变换方法;3.掌握补码的概念、原理和运算规律;4、掌握几种基本的逻辑运算
课堂教学
重点及难点
(1)理解不同进位记数制可以表达同一个数,如同一个人可以有很多名字一样。
理解计算机系统使用的数据都是二进制形式,但是人类所习惯的数据表达方式是十进制形式。
(2)关于数制之间的转换重点掌握十进制数与二进制数间的转换,二进制与八进制、十六进制间的相互转换,主要要求对整数的转换熟练,小数转换掌握方法即可。
(3)理解二进制数真值与二进制编码之间的概念区别,掌握真值与原码、补码间的相互转换。
(4)理解原码符号与补码符号间质的区别
(5)掌握变反加1方法,并深刻理解它的各种运用场合
教学过程
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
第一步:
引入
一、汇编语言及其特点
1.机器语言
计算机能够直接识别的数据是由二进制数0和1组成的代码。
机器指令就是用二进制代码组成的指令,一条机器指令控制计算机完成一个基本操作。
用机器语言编写的程序是计算机惟一能够直接识别并执行的程序。
2.汇编语言
汇编语言是一种用符号书写的、基本操作与机器指令相对应的、并遵循一定语法规则的计算机语言。
3.高级语言
高级程序设计语言接近于人类自然语言的语法习惯,与计算机硬件无关,易被用户掌握和使用。
(举例)
4.汇编语言的特点
(1)汇编语言与处理器密切相关。
(2)汇编语言程序效率高。
(3)编写汇编语言源程序比编写高级语言源程序烦琐。
(4)调试汇编语言程序比调试高级语言程序困难。
5.汇编的主要应用场合
(1)程序执行占用较短的时间,或者占用较小存储容量的场合。
(2)程序与计算机硬件密切相关,程序直接控制硬件的场合。
(3)需大型软件性能的场合。
(4)没有合适的高级语言的场合
第二步:
讲授新课
二、数据表示
1.数值数据
(1)原码
【例】有符号数的原码表示。
X=45=00101101B,[X]原=00101101B
X=-45,[X]原=10101101B
(2)反码
【例】有符号数的反码表示。
X=45=00101101B,[X]反=00101101B
X=-45,[X]反=11010010B
(3)补码
【例】有符号数的补码表示。
X=45=00101101B,[X]补=00101101B
X=-45[X]补=11010011B
(4)数制之间的转换
二进制与八进制、十六进制间的相互转换,举例说明。
(5)算术运算和逻辑运算
2.字符数据
(1)ASCII码
(2)BCD码
第三步:
讨论,布置课堂作业
课后作业
与思考题
(1)二进制数的真值与编码间的区别是什么?
(2)为什么在计算机系统中需要使用编码而不能直接使用真值?
(3)原码与补码的符号间有什么样的区别?
(4)变反加1有哪些应用场合?
怎样解释它的应用原理?
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第2次课2学时
教师教案
授课章节
第一章基础知识
课堂教学
目的及要求
1.了解计算机系统的基本结构;2.了解计算机系统的基本工作原理;3.理解在8086/8088系统中,逻辑地址与物理地址间的相互联系和转换机制;4.准确理解8086/8088CPU中各寄存器的基本功能;5.准确理解标志寄存器中各标志位的含义以及实用价值;6.理解内存的编址方式,数据在内存中的存放形式,理解内存中段的组织形式以及各个段的含义;
课堂教学
重点及难点
(1)理解逻辑地址与物理地址间的关联以及转换机制
(2)建立内存的分段管理概念,理解四种段类型的含义
(3)理解标志寄存器中每个标志位的确切含义、实用价值,特别注意CF、OF这两个理解困难的标志位
教学过程
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
第一步:
讲授新课
一、Intel 8086CPU内部结构
二、8086寄存器组
三、标志寄存器
1.条件标志
(1)进位标志CF
(2)零标志ZF
(3)符号标志SF
(4)溢出标志OF
(5)奇偶标志PF
(6)辅助进位标志AF
2.状态控制标志
(1)方向标志DF
(2)中断允许标志IF
(3)追踪标志TF
四、存储器物理地址的形成
1.存储器
2.存储器单元的地址和内容
3.物理地址的形成
第二步:
课堂提问,布置课堂作业
课后作业
与思考题
(1)为什么在CPU内部不能直接使用物理地址?
(2)8086系统存储器为什么要分段,如何分段?
物理地址如何形成?
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第3次课2学时
教师教案
授课章节
第二章寻址方式和指令系统
课堂教学
目的及要求
1.了解8086/8088机器指令的构成;2.准确理解8086/8088CPU每种寻址方式的确切含义;3.了解程序占用空间和执行时间的概念。
课堂教学
重点及难点
(1)理解各种寻址方式的含义、用途,特别是存储器寻址中的几种方式。
注意理解立即数寻址与存储器直接寻址的区别;寄存器寻址与寄存器间接寻址的区别;
教学过程
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
第一步:
回顾第一章内容
第二步:
讲授新课
一、寻址方式
1.寄存器寻址
寄存器寻址方式的操作数在指令指明的寄存器中。
汇编格式:
R其中R表示寄存器名。
功能:
操作数直接存放在寄存器R中。
【例】下列程序执行后,(AX)=?
,(BX)=?
MOVAX,1234H
MOVBX,5678H
ADDAX,BX
2.寄存器间接寻址
寄存器间接寻址方式中,寄存器的内容为操作数的偏移地址EA,操作数在存储器中。
汇编格式:
[R]
功能:
操作数存放在存储器,寄存器R存放操作数的偏移地址EA。
偏移地址EA计算方法如下:
【例】寄存器和存储器内容分别为:
(AX)=0,(BP)=0030H,(SS)=2000H,(20030H)=1234H
执行指令:
MOVAX,[BP]
执行后:
(AX)=?
,(BP)=?
,(SS)=?
,(20030H)=?
3.变址寻址
变址寻址方式操作数的偏移地址EA为寄存器的内容加位移量,操作数在存储器中。
汇编格式:
X[R](X表示位移量,是8位或16位二进制补码表示的有符号数)
功能:
操作数存放在存储器,寄存器R的内容加位移量X为操作数的偏移地址EA。
偏移地址EA计算方法如下:
【例】设执行前:
(AX)=0040H,(BX)=0030H,(DS)=2000H,(20036H)=0050H
执行指令:
ADD6[BX],AX
执行后:
(AX)=?
,(BX)=?
,(DS)=?
,(20036H)=?
4.基址加变址寻址
基址加变址寻址方式中,操作数的偏移地址EA是指令中基址寄存器内容、变址寄存器内容、位移量X三项之和,操作数在存储器中。
汇编格式:
X[BR+IR]
功能:
操作数存放在存储器,BR的内容加IR的内容加位移量X是操作数的偏移地址EA。
偏移地址EA计算方法如下:
5.立即寻址
立即寻址方式中,指令操作码和操作数都在存储器代码段中。
汇编格式:
n(n为立即操作数,是用8位或16位二进制补码表示的有符号数)
功能:
操作数存放在存储器,指令下一单元的内容为立即操作数n。
【例】MOVAX,10
执行后(AX)=?
6.直接寻址
汇编格式:
①含有变量的地址表达式。
②段寄存器名:
[EA]。
功能:
指令下一字单元的内容是操作数的偏移地址EA。
【例】寄存器和存储器内容为:
(AX)=1212H,BUF为数据段定义的变量,其偏移地址是2000H,(DS)=3000H,(32000H)=4545H。
执行指令:
MOVAX,BUF
执行后:
(AX)=?
7.跨段问题
汇编格式:
段寄存器名:
操作数地址。
功能:
段寄存器名指明操作数属哪个段。
【例】MOVAX,DS:
[BP]
MOVCX,SS:
[SI]
第三步:
布置课堂作业,并讲解
课后作业
与思考题
(1)寻址方式的本质是什么?
为什么会出现多种寻址方式?
(2)立即数寻址与存储器寻址有什么重要的区别?
二者有没有相似的地方?
(3)数据寻址和跳转指令的寻址的区别?
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第4次课2学时
教师教案
授课章节
实验1 查看cpu和内存,用机器指令和汇编指令编程
课堂教学
目的及要求
掌握调试工具DEBUG的基本使用方法
课堂教学
重点及难点
理解DEBUG工具的基本使用方法,包括DEBUG中几种基本命令的使用方法以及所显示信息的含义。
教学过程
第一步:
讲解实验任务。
第二步:
学生自主上机练习。
第三步:
解答上机过程中遇到的问题,总结。
课后作业
与思考题
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第5次课2学时
教师教案
授课章节
第二章 寻址方式和指令系统
课堂教学
目的及要求
准确理解指令系统中部分指令的含义、用途、执行过程、标志位解释,以及使用时需要注意的问题
课堂教学
重点及难点
(1)理解指令的各种分类方法,部分指令的含义、用途、基本时序过程、对标志位的解释,注意几种地址装入指令的区别,避免混淆;
(2)着重理解指令构成中的隐含操作数、隐含寻址方式,理解隐含寻址与非隐含寻址在控制上的区别;
(3)理解堆栈的基本使用方法,区分栈底、栈顶、堆栈指针初始位置等容易混淆的概念;(4)算术指令对CF、OF标志的影响情况;
教学过程
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
第一步:
讲授新课
一、数据传送类指令
1.通用数据传送指令
2.堆栈操作指令
3.标志寄存器传送指令
4.地址传送指令
5.输入输出指令
二、算术运算类指令
1.加法指令
2.减运算指令
3.乘运算指令
4.除运算指令
5.符号扩展指令
6.十进制调整指令
第二步:
完成课本检测点并提问
课后作业
与思考题
(1)隐含寻址与显示操作数的寻址有何区别?
(2)LEA和LDS指令各自的功能是什么?
二者之间有何质的区别?
栈顶、栈底分别由何种器件指示?
SP、SS中的内容与栈顶、栈底有什么样的区别、联系?
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第6次课2学时
教师教案
授课章节
实验2用机器指令和汇编指令编程
课堂教学
目的及要求
掌握调试工具DEBUG的基本使用方法
课堂教学
重点及难点
理解DEBUG工具的基本使用方法,包括DEBUG中几种基本命令的使用方法以及所显示信息的含义。
教学过程
第一步:
讲解检测点题目。
第二步:
讲解实验任务。
第三步:
在机器上调试一个小的程序片段,让同学们按步骤分析、解释当前使用的DEBUG命令、所显示的内容等。
课后作业
与思考题
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第7次课2学时
教师教案
授课章节
第二章 寻址方式和指令系统
课堂教学
目的及要求
1.准确理解指令系统中部分指令的含义、用途、执行过程、标志位解释,以及使用时需要注意的问题;2.根据课件中对指令执行的描述体会逻辑指令和字符串处理指令的执行过程。
课堂教学
重点及难点
(1)着重理解指令构成中的隐含操作数、隐含寻址方式,理解隐含寻址与非隐含寻址在控制上的区别;
(2)理解各种寻址方式的含义、用途,特别是存储器寻址中的几种方式,注意理解立即数寻址与存储器寻址的区别;(3)理解部分指令的含义、用途、对标志位的解释;(4)串处理指令的特殊性及一般用法
教学过程
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
第一步:
讲述新课
一、位操作类指令
1.逻辑运算指令
(1)求反指令NOT
(2)逻辑乘指令AND
(3)测试指令TEST
(4)逻辑加指令OR
(5)按位加指令XOR
2.移位指令
(1)算术左移和逻辑左移指令SAL(SHL)
(2)算术右移指令SAR
(3)逻辑右移指令SHR
(4)循环左移指令ROL
(5)循环右移指令ROR
(6)带进位的循环左移指令RCL
(7)带进位的循环右移指令RCR
二、串操作类指令
1.传送指令MOVS
2.串比较指令CMPS
3.串搜索指令SCAS
4.从源串中取数指令LODS
5.往目的串中存数指令STOS
6.重复前缀指令REPREPZREPNZ
第二步:
完成课本检测点并提问
课后作业
与思考题
(1)多字或多字节加法是如何完成的?
先对低字节进行运算还是高字节?
多字或多字节减法又是怎样完成的?
(2)NEG指令的操作数可以解释为无符号数吗?
CF标志是如何判断的?
(3)CMP指令与TEST指令的功能分别是什么?
在程序设计中,它们主要针对什么用途?
(4)对于逻辑左移指令OF标志什么情况下才有意义?
对于算术右移指令OF标志有什么样的特征?
对于各种循环移位指令,OF标志什么情况下有意义?
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第8次课2学时
教师教案
授课章节
第二章寻址方式和指令系统
课堂教学
目的及要求
1.准确理解指令系统中部分指令的含义、用途、执行过程、标志位解释,以及使用时需要注意的问题;2.串处理指令的特殊性及一般用法;3.控制转移指令的用途及使用方法4.理解DEBUG工具的基本使用方法,包括DEBUG中几种基本命令的使用方法以及所显示信息的含义。
课堂教学
重点及难点
(1)串处理指令的使用方法;
(2)串处理时的方向控制;(3)有符号和无符号的跳转指令的不同及测试条件的区别;
教学过程
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
第一步:
讲授新课
一、控制转移类指令
1.条件转移指令
(1)简单条件转移指令
(2)无符号数条件转移指令
(3)有符号数条件转移指令
2.无条件转移指令
3.循环指令
(1)循环指令LOOP
(2)相等/为零循环指令LOOPE
(3)不相等/不为零循环指令LOOPNE
(4)CX为零转移指令JCXZ
4.子程序调用指令
(1)子程序调用指令CALL
(2)返回指令RET
5.中断指令
(1)中断调用指令INT
(2)中断返回指令IRET
第二步:
完成课本检测点并提问:
课后作业
与思考题
(1)重复前缀和循环指令在使用时的区别?
(2)有符号数与无符号数在比较时为什么会不同
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第9次课2学时
教师教案
授课章节
第3章宏汇编语言
课堂教学
目的及要求
1.了解汇编程序功能;2.掌握各个伪指令的功能和使用方法;3.掌握伪指令与指令的重要区别;5.理解程序的段结构,掌握定义段的语法要素;6.掌握各个段寄存器的各种初始化方法。
课堂教学
重点及难点
(1)在理解伪指令功能的基础上,着重理解伪指令与指令的本质区别;
(2)理解汇编语言中表达式与高级语言中表达式的本质区别;(3)在理解程序的段结构基础上,着重理解各个段寄存器的初始化方法。
教学过程
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
第一步:
回顾第二章主要内容
第二步:
讲授新课
一、宏汇编语言格式
1.指令语句格式
指令语句的一般格式如下:
[标号:
]指令助记符操作数;注释
2.伪指令语句格式
伪指令语句格式如下:
[符号名]伪指令符操作数;注释
二、汇编语句表达式
1.常量
(1)数值常量
(2)字符串常量
2.变量
(1)变量
(2)变量的定义
3.标号
标号是一条指令语句的符号地址。
【例】符号地址表示。
┆
NEXT:
MOVAL,[SI];带标号NEXT的指令
┆
DECCX
JNENEXT;标号NEXT作转移指令的操作数
4.表达式与运算符
(1)算术运算符
(2)逻辑运算符
(3)关系运算符
(4)属性运算符
(5)数值返回运算符
5.运算符的优先级
课后作业
与思考题
(1)指令与伪指令有何区别?
(2)两种源程序框架对于CPU控制权的交接有何不同?
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第10次课2学时
教师教案
授课章节
实验3编程、编译、连接、跟踪
课堂教学
目的及要求
了解汇编程序执行过程,跟踪每一步执行后相关寄存器中的内容;用debug加载程序后,观察psp的内容。
课堂教学
重点及难点
教学过程
第一步:
讲解实验任务。
第二步:
学生自主上机练习。
第三步:
解答上机过程中遇到的问题,总结。
课后作业
与思考题
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第11次课2学时
教师教案
授课章节
第3章宏汇编语言
课堂教学
目的及要求
1.掌握各个伪指令的功能和使用方法;2.掌握伪指令与指令的重要区别;3.掌握汇编语言表达式与高级语言表达式的本质区别;4.掌握汇编语言程序格式;5.熟悉汇编语言程序的上机过程;.5.熟练掌握常用的DOS系统功能调用。
课堂教学
重点及难点
(1)理解汇编语言中表达式与高级语言中表达式的本质区别;
(2)地址计数器的理解和使用;(3)理解变量、标号的三个基本空间特性:
段、偏移量、类型。
教学过程
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
第一步:
讲授新课
一、伪指令
1.数据定义伪指令
常用的数据定义伪指令有DB,DW,DD,DQ,DT
2.符号定义伪指令
(1)等价伪指令
(2)等号伪指令
(3)定义符号名伪指令
3.段定义伪指令SEGMENT/ENDS
4.假定伪指令ASSUME
5.置汇编地址计数器伪指令ORG
6.源程序结束伪指令
二、DOS系统功能调用
常用的DOS系统功能调用
1.单字符输入(1号调用)
2.单字符显示(2号调用)
3.打印输出(5号调用)
4.结束调用(4CH号调用)
5.显示字符串(9号调用)
6.字符串输入(10号调用)
第二步:
实例分析
三、综合举例
【例】已知一数据段中的数据为:
DATASEGMENT
ADWM
BUFDB‘AB’,0DH,0AH
CEQU500H
BDW0FFAAH
DDDBUF
MDB2DUP
(1),2DUP(2,’B’)
DATAENDS
请画出该数据段数据存储的形式。
课后作业
与思考题
(1)汇编语言中的表达式与高级语言中的表达式相比,有何重要区别?
(2)EXE文件和COM文件有何区别?
(3)段、偏移量、类型三个基本空间特性如何确定一个变量在内存空间的确切位置、占用字节数?
这三个特性对标号的使用而言,有何必要性?
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第12次课2学时
教师教案
授课章节
实验4比较字符串sample
课堂教学
目的及要求
学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行的方法。
课堂教学
重点及难点
教学过程
第一步:
讲解实验任务
1.调用字处理程序wordstar建立asm文件
2.用汇编程序masm对源文件汇编产生目标文件obj
3.用连接程序link产生执行文件exe
4.执行程序
第二步:
学生自主上机练习。
第三步:
解答上机过程中遇到的问题,总结。
课后作业
与思考题
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第13次课2学时
教师教案
授课章节
第4章程序设计方法
课堂教学
目的及要求
1.掌握由汇编语言源程序得到可执行程序的完整过程;2.重点理解各条件转移指令对标志位的解释及其相关的条件判断原理;3.能够实际应用所学到的转移指令,在编写完整程序的基础上使用分支、循环等复杂的流程结构。
课堂教学
重点及难点
(1)理解循环指令的功能,以及与其它条件转移指令的主要区别;(3)结合实例,理解转移指令在分支程序设计中的通常用途;
(2)结合实例,理解循环指令在程序设计中的通常用途。
教学过程
教学手段:
讲授为主,讨论为辅,采用多媒体辅助教学
第一步:
引入
一、汇编语言程序设计的一般步骤
汇编语言程序设计一般有以下几个步骤:
1.分析问题,确定算法
2.绘制流程图
3.根据流程图编制程序
4.调试程序
第二步:
讲授新课
二、分支程序设计
1.用条件转移指令实现程序分支
2.用跳转表实现多路分支
三、循环程序结构
1.初始化部分
2.循环体部分
3.循环控制部分
第三步:
实例分析
【例】试编一程序,求三个带符号字数据中的最大值,并将最大值存入MAX字单元中。
课后作业
与思考题
(1)循环指令与其它条件转移有什么主要区别?
使用循环指令是否可以实现所有的循环结构?
备注
注:
每项页面大小可根据实际情况自行添减。
授课教师签名:
第14次课2学时
教师教案
授课章节
实验5分支程序设计
课堂教学
目的及要求
掌握汇编语言分支程序设计;实验要求:
程序接受用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其他字符分类计数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 教案
![提示](https://static.bingdoc.com/images/bang_tan.gif)