寻址方式教案(1)
- 格式:doc
- 大小:297.50 KB
- 文档页数:6
江苏省XY中等专业学校2021-2022-2教案编号:出,不需再访问存储器,因此立即寻址方式的执行速度教学教学活动内容及组织过程个案补充环节较快,但由于立即数作为指令的一部分不能修改,所以只适合于操作数固定不变的场合。
例如,向某个存储单元或某一寄存器设置初值或提供一个常数。
立即寻址方式便于程序员使用,但它是所有寻址方式中灵活性最差的一种。
2.直接寻址方式直接寻址是把操作数的地址直接作为指令中的地址码。
根据指令的地址码部分给出的地址就可以直接在存储器中找到所需的操作数。
这种寻址方式简单、直观,硬件实现比较容易。
但它只能用来访问固定的存储单元,示意图如图所示。
图中,MOV为直接寻址方式的代码说明,[1200H]为源操作数所存放的地址。
3.寄存器寻址方式指令的地址码部分给出某个通用寄存器的地址,而且所需的操作数就在这个寄存器中,则称为寄存器寻址方式,如图4-3所示。
图4-3中,X为寄存器寻址方式的代码说明,其的打地山__ R: 操作员有效地址为EA=R。
寄存器寻址指令简单,而且从寄存器中存取数教学环节教学活动内容及组织过程个案补充教学内容据比从存储器中存取数据快得多,所以寄存器寻址方式可以缩短指令的长度,节省存储空间,提高指令的执行速度。
因此,巧妙地使用寄存器提高汇编语言程序设计水平的关键。
几种寻址方式的速度的比较立即寻址>寄存器寻址>直接寻址【课堂小结】【作业布置】板书设计第4章指令系统4.3寻址方式4.3. 1指令的寻址方式1.顺序寻址方式2.跳跃寻址方式4.3.2操作数的寻址方式1. 立即寻址方式2.直接寻址方式3.寄存器寻址方式教后札记。
实验三寻址方式与基本指令实验一、实验目的1、熟悉51单片机的各种寻址方式及基本指令的功能,进一步理解和巩固课堂学习内容。
2、初步掌握单片机汇编语言的设计和调试的基本方法方法。
3、熟悉DVCC模拟仿真系统的调试工具的使用方法二、实验内容1、查看程序代码在单片机内部存在的位置和形式。
2、熟练应用MOV指令、MOVX指令、MOVC指令,实现将数据在51单片机内部寄存器空间,RAM空间,以及外部RAM空间之间的转移。
3、了解堆栈的设置和应用,以及堆栈指针SP的变化4、懂得在程序区域设置数据表三、实验步骤1、编写如下参考程序,编译、模拟调试,并回答下列问题:MOV A, #30H ; 将立即数30H 送到累加器 AMOV R0, #40HMOV @R0, A 该指令语句中,目的操作数的寻址方式为;MOV R1, 40H 运行到此,R1 的值为;END2、请在1题基础上,增加适当的语句,使地址42H的内部数据存储器单元,赋值为30。
3、下列程序实现把10、11、12 三个数分别放在外部数据存储地址为1000H、1001H、1002H 存储单元处。
请填写指令,实现将1000H、1001H、1002H存储单元中的数值分别存储在R1、R2、R3中。
(请编译、调试、运行)MOV A, #10MOV DPTR , #1000H ;指定外部数据存储器地址为1000HMOV @DPTR , AINC A ;累加器A 数值加1INC DPTR ;DPTR 地址值加1=1001HMOV @DPTR , AINC AINC DPTRMOV @DPTR , A..................END4、堆栈操作,执行如下程序,回答下列问题MOV SP , 30H ;执行到此,SP= HMOV DPL,#12HMOV B, #34HPUSH DPL;执行到此,SP= HPUSH B ;执行到此,SP= HPOP DPL ;执行到此,SP= H, DPL = HPOP B ;执行到此,SP= H , B= HEND5、请在程序存储器地址为1000H开始的区域,依次存放如下数据:(1000H)= 0AH(1001H)= 0BH(1002H)= 0CH(1003H)= 0DH(1004H)= 0EH(1005H)= 0FH设计一个查表程序:使A=3时,查得数据0DH 回存到A.四、思考题:1、MOVC 指令操作数的寻址方式有几种?操作数实在程序存储区还是数据存储区?2、分析堆栈空间“先入后出”的使用特点,试着回答其在程序编写中的作用?。
§3.1MCS-51单片机寻址教案授课人:章谋学习目标:1、了解汇编指令的结构组成2、掌握7种指令寻址方式的结构和特点3、熟练运用汇编指令编写程序计划课时:2学时教学重点:掌握4种类型的寻址方式教学难点:7种寻址方式在程序中的应用教学方法:实例演示、小组讨论、软件仿真、当堂练习第一课时〖本节课的教学目标〗1、学生能了解汇编指令语句格式2、学生能区分出立即寻址、直接寻址、间接寻址的异同教学过程课前预习情况检查(预习卡1--3题的完成情况的检查)一、课堂引入:1、学生利用老师写好的程序载入下图进行运行并记录运行现象。
2、观察单片机系统中有硬件但没有程序运行所出现的现象。
3、观察单片机系统中有程序但硬件有故障所出现的现象。
循环彩灯效果图彩灯实验箱实物连结图org 0000hstart:mov r0,#08 delay: mov r1,#10mov r4,#08 de0: mov r2,#127 mov a,#0feh de1: mov r3,#200 loop1:mov p1,a de2: djnz r3,de2 acall delay djnz r2,de1 rr a djnz r1,de0 djnz r0,loop1 ret loop2:mov p1,a rl aacall delaydjnz r4,loop2 循环彩灯应用程序 ajmp start二、课堂自学:1、学生自学,了解汇编指令的组成Start : mov a, #30h ; (A) ←30H标号( );指令助记符( );目的操作数( ); 源操作数( ) 释( )注:指令操作数可能有2个或3个,也可能只有1个或1个也没有。
2、小组讨论,完成寻址方式的分类(小组学生举手作答与老师提问相结合,注重从最后一名学生开始抓起)①、立即数寻址:②、直接寻址方式 ③、寄存器寻址 ④、寄存器间接寻址: 例如:MOV A ,3AH ;(3AH )→A 目的操作数( ),源操作数( ),寻址方式( ) MOV A ,#3AH ;3AH →A目的操作数( ),源操作数( ),寻址方式( )MOV DPTR ,#2000H ;2000H →DPTR;DPH=20H ;DPL=00H目的操作数( ),源操作数( ),寻址方式( )MOV A ,3AH ;(3AH) →A目的操作数( ),源操作数( ),寻址方式( ) MOV A ,P1;P1口→A目的操作数( ),源操作数( ),寻址方式( )MOV A ,R0;R0→A目的操作数( ),源操作数( ),寻址方式( ) MOV P1,A ;A →P1口目的操作数( ),源操作数( ),寻址方式( ) ADD A ,R0;A+R0→A 目的操作数( ),源操作数( ),寻址方式( )65H47HR0 A 47H数据存储器地址┋┋65H ①②将片内RAM 65H 单元内容47H 送A(注:请学生描述上图地址单元、数据、寄存器之间的关系及寻址方式)三、教师指导学生归纳各类寻址特点1、学生利用书本P207-P211页汇编指令探究规类寻址方式Mov a,#dataMov direct,directMov a,RnMov a,@Rn2、学生小组通过电脑仿真指令,判别指令的类型Mov r0,#30hMovx @DPTR ,aCpl aMov 40h,30hMov a,@Ri3、通过学生抢答、同学补充、老师讲解得出正确的结论序号寻址类别特点(源操作数)1 立即寻址立即数前有“#”2 直接寻址地址单元3 寄存器寻址R0--R7寄存器单元4 寄存器间接寻址@Ri(i为0或1)4、小组讨论:A、指出循环彩灯程序第一部分各指令寻址类型B、利用KEIL软件采用单指令运行,找出程序运行的基本规律C、把以上程序生成HEX文件导入电路运行,并分析运行结果。
指令格式及寻址方式§4-1-1 8086/8088的通用指令格式机器语言指令是由二进制代码组成。
一条指令是由操作码与操作数字段构成,其一般格式为:操作码字段 + 操作数字段。
操作码字段指明计算机所要执行的操作(即功能);操作数字段指出在指令执行过程中所需要的操作数。
比如指令指明作加法,则操作数就是加数,而且有两个。
计算机的任何操作不容有模糊的地方。
指令中的操作数同样如此,指令中不仅要指出有几个操作数,还要指明每个操作数到底在什么地方。
例如:ADD AX, BX其中ADD 是操作码助记符,指明做加法运算:AX和BX 是操作数助记符,指出被加数和加数,AX 还存放相加后的结果(原来被加数被冲掉)。
对有操作数的指令,在执行指令所规定的操作之前首先要寻找操作数。
操作数可放在CPU寄存器中,或内存单元中,或I/O端口内,寻找这些操作数的方式称为寻址方式,即指令中用于说明操作数或操作数所在地址的方法。
汇编语言是一种很接近于机器语言的低级计算机语言,在汇编语言中,助记符代替了操作码,而操作数部分也象机器语言一样需要指明具体位置,具有机器语言相应的寻址方式,当然表现形式不是二进制符号,而是数值、寄存器名、变量等。
为了更好的理解和掌握寻址方式及其用法,先对后面例子中使用的一条汇编语言指令做简单说明。
MOV指令是汇编语言最常用的指令之一,指令的基本格式是:MOV d1,d2该指令的功能是把操作数d2的值(如果在内存或寄存器中则取出它的值)传送到操作数d1指明的地方,相当于高级语言中的赋值语句功能。
操作数d1的寻址方式可以是内存型,也可以是寄存器型,但不能是立即数。
汇编语言的指令根据所带有的操作数的数量分为无操作数指令、单操作数指令、双操作数指令三类。
MOV等双操作数指令中绝大多数都是把写在前面的操作数d1作为存放操作结果的目的地,所以称为目的操作数,而d2称为源操作数。
§4-1-2 立即寻址(立即数)特点:操作数直接存放在指令中,作为指令的一部分存放在代码段里,这种操作数称为立即寻址。
§3.1MCS-51单片机寻址教案
授课人:章谋学习目标:1、了解汇编指令的结构组成
2、掌握7种指令寻址方式的结构和特点
3、熟练运用汇编指令编写程序
计划课时:2学时
教学重点:掌握4种类型的寻址方式
教学难点:7种寻址方式在程序中的应用
教学方法:实例演示、小组讨论、软件仿真、当堂练习
第一课时
〖本节课的教学目标〗
1、学生能了解汇编指令语句格式
2、学生能区分出立即寻址、直接寻址、间接寻址的异同
教学过程
课前预习情况检查(预习卡1--3题的完成情况的检查)
一、课堂引入:
1、学生利用老师写好的程序载入下图进行运行并记录运行现象。
2、观察单片机系统中有硬件但没有程序运行所出现的现象。
3、观察单片机系统中有程序但硬件有故障所出现的现象。
循环彩灯效果图
彩灯实验箱实物连结图
org 0000h
start:mov r0,#08 delay: mov r1,#10
mov r4,#08 de0: mov r2,#127 mov a,#0feh de1: mov r3,#200 loop1:mov p1,a de2: djnz r3,de2 acall delay djnz r2,de1 rr a djnz r1,de0 djnz r0,loop1 ret loop2:mov p1,a rl a
acall delay
djnz r4,loop2 循环彩灯应用程序 ajmp start
二、课堂自学:
1、学生自学,了解汇编指令的组成
Start : mov a, #30h ; (A) ←30H
标号( );指令助记符( );目的操作数( ); 源操作数( ) 释( )
注:指令操作数可能有2个或3个,也可能只有1个或1个也没有。
2、小组讨论,完成寻址方式的分类
(小组学生举手作答与老师提问相结合,注重从最后一名学生开始抓起)
①、立即数寻址:②、直接寻址方式 ③、寄存器寻址 ④、寄存器间接寻址: 例如:MOV A ,3AH ;(3AH )→A 目的操作数( ),源操作数( ),寻址方式( ) MOV A ,#3AH ;3AH →A
目的操作数( ),源操作数( ),寻址方式( )
MOV DPTR ,#2000H ;2000H →DPTR
;DPH=20H ;DPL=00H
目的操作数( ),源操作数( ),寻址方式( )
MOV A ,3AH ;(3AH) →A
目的操作数( ),源操作数( ),寻址方式( ) MOV A ,P1;P1口→A
目的操作数( ),源操作数( ),寻址方式( )
MOV A ,R0;R0→A
目的操作数( ),源操作数( ),寻址方式( ) MOV P1,A ;A →P1口
目的操作数( ),源操作数( ),寻址方式( ) ADD A ,R0;A+R0→A 目的操作数( ),源操作数( ),寻址方式( )
65H
47H
R0 A 47H
数据存储器
地址
┋
┋
65H ①
②
将片内RAM 65H 单元内容47H 送A
(注:请学生描述上图地址单元、数据、寄存器之间的关系及寻址方式)
三、教师指导学生归纳各类寻址特点
1、学生利用书本P207-P211页汇编指令探究规类寻址方式
Mov a,#data
Mov direct,direct
Mov a,Rn
Mov a,@Rn
2、学生小组通过电脑仿真指令,判别指令的类型
Mov r0,#30h
Movx @DPTR ,a
Cpl a
Mov 40h,30h
Mov a,@Ri
3、通过学生抢答、同学补充、老师讲解得出正确的结论
序号寻址类别特点(源操作数)
1 立即寻址立即数前有“#”
2 直接寻址地址单元
3 寄存器寻址R0--R7寄存器单元
4 寄存器间接寻址@Ri(i为0或1)
4、小组讨论:A、指出循环彩灯程序第一部分各指令寻址类型
B、利用KEIL软件采用单指令运行,找出程序运行的基本规律
C、把以上程序生成HEX文件导入电路运行,并分析运行结果。
四、课后练习
指出下指令中的标号、助记符、指令操作数、注释。
⑴loop:movc a,@a+dptr;((a)+(dptr)) →a
⑵delay: djnz r0,d1;r0-1→r0,r0≠0则转移至d1
2、指出下列指令分别采用哪种寻址方式?
⑴setb tr0
⑵movc a,@a+pc
⑶mov a,#00h
⑷mov a,30h
第二课时
〖本节课的教学目标〗
1、学生认知变址寻址、相对寻址、位寻址
2、掌握变址寻址、相对寻址、位寻址的特点
3、学会在应用程序中使用各种寻址方式
教学过程
课前预习情况检查(预习卡4-6题的完成情况的检查)
一、教师指导学生归纳各类寻址特点
1、学生利用书本P207-P211页汇编指令探究规类寻址方式
Movc a,@a+dptr
Movc a,@a+pc
Djnz a,loop
Clr acc.3
Setb tr1
2、学生通过小组电脑仿真指令,判别指令的类型 Mov a,@a+dptr Movx @DPTR ,a Djnz r0
Cjne a,#18h,loop Setb tr0
3、通过学生抢答、同学补充、老师讲解得出正确的结论 序号 寻址类别 特点(源操作数)
5 相对寻址 转移指令首地址+转移指令字节数+rel
6 变址寻址 Dptr 或PC 为基址+A (变址) 7
位寻址
对地址单元某一位进行寻址
4、小组讨论:A 、指出循环彩灯程序第二部分各指令寻址类型
B 、 利用KEIL 软件采用单指令运行,找出程序运行的基本规律
C 、把以上程序生成HEX 文件导入电路运行,并分析运行结果。
(注:请学生描述下图地址单元、数据、寄存器之间的关系及寻址方式)
1EH
0302H ROM
DPTR A A 02F1H 11H
1EH
+
①
②
DPTR 内容与A 的内容之和为程序存储器地址
程序存储器内容送A
二、当堂训练
1、指令认知
Org 0000h 标号(),助记符(),目的操作数(),源操作数()Mov r0,#08h 标号(),助记符(),目的操作数(),源操作数()Mov a,#0feh标号(),助记符(),目的操作数(),源操作数()Loop1:Mov p1,a标号(),助记符(),目的操作数(),源操作()Call delay标号(),助记符(),目的操作数(),源操作数()Rr a标号(),助记符(),目的操作数(),源操作数()
Djnz r0,loop1标号(),助记符(),目的操作数(),源操作数()ajmp start标号(),助记符(),目的操作数(),源操作数()delay: mov r1,#10标号(),助记符(),目的操作数(),源操作()de0: mov r2,#127标号(),助记符(),目的操作数(),源操作数()de1: mov r3,#200标号(),助记符(),目的操作数(),源操作数()djnz r2,de1 标号(),助记符(),目的操作数(),源操作数()de2: djnz r3,de2标号(),助记符(),目的操作数(),源操作数()djnz r1,de0标号(),助记符(),目的操作数(),源操作数()Ret标号(),助记符(),目的操作数(),源操作数()
end标号(),助记符(),目的操作数(),源操作数()
2、指令运用
A、找出以上程序的主程序和延时程序
B、说出LED灯循环点亮原理
三、问题反馈(学生提问,老师作答)
1、小组共性问题反馈
2、个人知识盲点的反馈
3、知识点拓展咨询
4、典型应用认知
四、问题探究
1、如何同时点亮几个LED
2、如何同时实现2种以上方式的循环
五、课后练习
1、指出下指令中的标号、助记符、指令操作数、注释。
⑴loop:movc a,@a+dptr;((a)+(dptr)) →a
⑵delay: djnz r0,d1;r0-1→r0,r0≠0则转移至d1
2、指出下列指令分别采用哪种寻址方式?
⑴setb tr0
⑵movc a,@a+pc
⑶mov a,#00h
⑷mov a,30h
⑸mov a,r0
⑹jc 3ah
⑺mov a,@r1
3、编写能同时点亮4个LED闪光程序。