寻址方式教案(1)

合集下载

61第3章 寻址方式与指令系统课件

61第3章 寻址方式与指令系统课件
3
第3章
寻址方式与指令系统
2. 指令格式 计算机是通过执行指令来处理数据的,为了指出数据的
来源、操作结果的去向以及所执行的操作,指令应该由操作 码字段和操作数字段两部分组成。 (1)操作码字段:规定指令的操作类型,说明计算机要执 行的具体操作。 (2)操作数字段:说明在指令执行的过程中需要的操作数 ,它可以是操作数本身,也可以是操作数地址或是地址的一 部分,还可以是指向操作数的地址指针或其它有关操作数据 的信息。
10
第3章
寻址方式与指令系统
(3)寄存器相对寻址方式 这种寻址方式是在指令中给定一个基址寄存器(或变址
寄存器)和一个8位或16位的相对偏移量,两者之和作为操 作数的有效地址。 (4)基址变址寻址
这种方式是在指有效地址。过程分析 (5)相对基址变址寻址
18
第3章
寻址方式与指令系统
使用MOV指令进行数据传送时要注意以下几点: (1) 段寄存器CS及立即数不能作为目标操作数
; (2) 两个存储单元之间不允许直接传送数据; (3)立即数不能直接传送到段寄存器; (4)两个段寄存器之间不能直接传送数据; (5)传送数据的类型必须匹配; (6)MOV指令不影响标志位。
此类指令除了SAHF和POPF外均不影响标志寄存器的内 容。
按照传送的内容和功能的不同,可将数据传送指令分为 3组,见表3-1所示。其中dst表示目的操作数,src表示源操 作数。
15
表3-1 数据传送指令
指令类型 通用数据传送 地址传送 标志位传送
指令格式 MOV dst,src PUSH src POP dst XCHG dst,src XLAT LEA dst,src LDS dst,src LES dst,src LAHF SAHF PUSHF POPF

中职计算机原理教案:寻址方式

中职计算机原理教案:寻址方式

江苏省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.寄存器寻址方式教后札记。

第2章寻址方式

第2章寻址方式
22
第十九页,编辑于星期二:十九点 四十一分。
寄存器间接寻址方式举例 1
例9. MOV AX,[BX]
; AX ? (DS:[BX] )
注意它与寄存器寻址方式在形式上的区别:
MOV AX ,BX
;(AX) ? (BX)
源操作数的物理地址为:
PA = (DS) × 10H +(BX) 若(DS)= 3000H,(BX)= 78H, (30078H)= 12H 则:PA =3000H ×10H+78H =30078H
找到操作数 ;
? 数据寻址方式以 MOV DST ,SRC 为例讨论。
7
第六页,编辑于星期二:十九点 四十一分。
计算机中操作数保存的地点
1.指令中 2.CPU 的寄存器中 3.存储器中 4.I/O接口寄存器中
4. 在访问I/O 的专用 指令中指定接口中寄 存器的端口号。
1.由程序员直接写在指令中
2. 在指令中指定寄存器名
地址是什么。。。
?操作码 域:指定要完成的操作。
?操作数 2:源操作数 ,表示参与指令操作的一个对象;
?操作数 1:目的操作数 ,它不仅可以作为指令操作的一
个对象,还可以用来存放指令操作的结果。
?分号后的内容是对指令的解释。
例: MOV AH , 10
; (AH)= 10
2
第二页,编辑于星期二:十九点 四十一分。
即用寄存器存放源或目的操作数。
? 存储器操作数
存储器操作数是指操作数存放在主存储器中。
因此在汇编指令中应给出的是存储器的地址。
5
第四页,编辑于星期二:十九点 四十一分。
指令操作数的表达
? r8 —— 任意一个 8位通用寄存器 ? r16—— 任意一个 16位通用寄存器 ? reg—— 代表r8或r16 ? seg—— 段寄存器 CS/DS/ES/SS ? m8 —— 一个 8位存储器操作数单元 ? m16—— 一个16位存储器操作数单元 ? mem—— 代表 m8或m16 ? i8 —— 一个 8位立即数 ? i16 —— 一个 16位立即数 ? imm —— 代表i8或 i16 ? dst /src —— 目的操作数 / 源操作数

第五讲 寻址方式

第五讲 寻址方式

(2)双字节指令(46条) 双字节指令(46条
双字节指令含有两个字节, 双字节指令含有两个字节,可以分别存放在两个存储单元 中,操作码字节在前,操作数字节在后。操作数字节可以是立 操作码字节在前,操作数字节在后。 即数,也可以是操作数所在的片内 即数,也可以是操作数所在的片内RAM。 。 例如: 例如:MOV A,#DATE; 这条指令的含义是把指令码第二字节DATA取出来存放在 取出来存放在 这条指令的含义是把指令码第二字节 累加器A中 该指令的指令码为: 累加器 中,该指令的指令码为: 0 1 1 1 0 1 0 0 DATA 其中, 为操作码, 为源操作数, 其中,74H为操作码,DATA为源操作数,其各占一个字 为操作码 为源操作数 是目的操作数寄存器, 节;累加器A是目的操作数寄存器,由操作码隐含。 累加器 是目的操作数寄存器 由操作码隐含。
2、指令系统中使用的符号
为便于后面的学习, 为便于后面的学习,在这里先对描述指令的一些符号的约 定意义作以说明: 定意义作以说明: (1) Ri和Rn:表示当前工作寄存器区中的工作寄存器,i取0或1, 和 :表示当前工作寄存器区中的工作寄存器, 取 或 , 表示R0或 。 取 表示 或R1。n取0~7,表示 ,表示R0~R7。 。 (2) direct:表示直接寻址的地址。 :表示直接寻址的地址。 (3) #data:表示包含在指令中的8位立即数。 :表示包含在指令中的 位立即数。 位立即数 (4) #data16:表示包含在指令中的16位立即数。 :表示包含在指令中的 位立即数 位立即数。 (5) addr16和addr11:分别表示 位直接地址和 位直接地址。 位直接地址和11位直接地址 和 :分别表示16位直接地址和 位直接地址。
(2)直接寻址

汇编语言2-1寻址方式

汇编语言2-1寻址方式

EA =
+
பைடு நூலகம்
注意: 允许段超越。 注意:①允许段超越。 ②[BX+BP]或[SI+DI]是非法搭配 或 是非法搭配
例: MOV AX, [BX] [SI] MOV AX, [BX+SI] MOV AX, DS: [BP] [DI] 错误例: 错误例: × MOV AX, [BX] [BP] × MOV AX, [DI] [SI]
指令操作例:MOV AX,DATA[DI][BX] 指令操作例: , 操作例 若DS=8000H, BX=2000H, DI=1000H, DATA=200H 则指令执行后AH=[83201H], AL=[83200H] 则指令执行后
目的 源
指令举例:
MOV AX , BX 操作码 操作数 ADD AX,[SI+6] INC HLT [BX]
二、8086的操作数分类
立即数(常数) 1、立即数(常数)
取值范围如下表: 取值范围如下表 8位 无符号数 00H-FFH(0-255)
带符号数80H-7FH(-128~127)
16位 0000H-FFFFH(0-65535)
存储器寻址方式
1、 立即寻址 、
直接把参与操作的数据写在指令中,是指令的一部分, 直接把参与操作的数据写在指令中,是指令的一部分,该数 据称为立即数。操作数可以是各种数制下的数值(相当于8位 据称为立即数。操作数可以是各种数制下的数值(相当于 位 位二进制数),也可以是带单引号的字符。 或16位二进制数),也可以是带单引号的字符。 位二进制数),也可以是带单引号的字符 强调: 强调:立即寻址只能用于源操作数 例如: 2050H,执行后, 执行后, 例如: MOV AX,2050H ; AX , 执行后 MOV AL,05H , ;AH = 20H,AL = 50H , MOV AL,‘A’ , 观察指令: 观察指令: MOV 05H,AL MOV BL,324D , , MOV CH,2050H MOV DL,‘25’ , , 注意: 立即数永远不能作目的操作数。 注意:1. 立即数永远不能作目的操作数。 2. 源操作数和目的操作数要互相匹配。 源操作数和目的操作数要互相匹配。

实验三 寻址方式与基本指令实验

实验三  寻址方式与基本指令实验

实验三寻址方式与基本指令实验一、实验目的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讲_1 寻址方式

第3讲_1 寻址方式
15
⑤基址变址寻址(2)
基址变址寻址的格式: [BX+SI+位移量] [BX+DI+位移量] [BP+SI+ [BP+SI+位移量] [BP+DI+位移量] ] [BP+DI+ ] [BX+SI] [BX+DI] [BP+SI] [BP+DI] 错误的写法: [BX+BP] [SI+DI] 位移量的范围: 补码表示的8位或16位 (-128~+127,-32768~+32767)
3.3 寻址方式
3.3.1 3.3.2 3.3.4 3.3.5 操作数的种类 寻址方式 段更换和段跨越 有效地址的计算时间
1
3.3.1 操作数的种类
(1) 立即操作数: 指令要操作的数据在指令代码中, MOV AL,10H ;指令码B010. (2) 存储器操作数:指令要操作的数据在存储器(内 存)中, MOV AL,[1234H]; 指令码A03412. (3)寄存器操作数:指令要操作的数据在CPU的寄存 器中, MOV AL,BL; 指令码88D8. (4)I/O端口操作数, IN AL,20H; 指令码E420.
假定 DS=1000H, SS=2000H, BP=0100H, BX=0100H, 如下指 令在执行完后的结果分别是什 么? ① MOV AX,[BX+100H] ② MOV AX,[BP+100H]
19
寻址方式中不能出现的情况
立即数只能用于源操作数寻址 除源操作数为立即寻址方式外,其中一个操 作数的寻址方式必须是寄存器直接寻址,即 两个操作数不能同时为存储器操作数 例如 MOV data1,12h MOV data1,data2 错

寻址方式教案(1)

寻址方式教案(1)

§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文件导入电路运行,并分析运行结果。

寻址方式教案

寻址方式教案

R0-R7 对应 的地址 R0:00H R1:01H R2:02H R3:03H R4:04H R5:05H R6:06H R7:07H R0:08H R1:09H R2:0AH R3:0BH R4:0CH R5:0DH R6:0EH R7:0FH 以此类推
组 0 ( 00H--07H)
01ຫໍສະໝຸດ 组1 (08H— 0FH)
标号
操作数 1
操作数 2
注 释
(不是一定有) (目的操作数)(源操作数)
导入
操作码助记符 (执行什么样的操作) 单片机在操作过程中寻找目的地址的过程中, 怎么 去寻找地址呢?下面学习第二小节寻址方式
立即 寻址
概念:指令中的操作数是数据,不是地址,这样的操作数 称为立即数,立即数直接参与操作,这种寻址方式称为立 即寻址。 听讲掌握 例:MOV A , #64H 功能: A 64H (把 64H 这个数据送到累加器 A 中) 立即寻址的示意图: 程序存储器 ROM 70H 71H
01110100 01100100
掌握立即 寻址方式 的功能
新授
ACC 累 加 器
执行结果:A 中的内容为 64H, 写作: (A)=64H 概念:指令中直接给出操作数所在存储单位的地址。 听讲掌握 例: MOV A , 64H 功能:A (64H)把 64H 单元中的内容送到累加 器 A 中。 直接寻址示意图: 数据存储器 掌握直接 寻址方式 的功能
公开课教案
教师 课题 时间 周丽芳 寻址方式 2011/11/22 下午第三节 (1)掌握 MCS-51 的寻址方式 (2)掌握几种寻址方式的功能 (3)理解执行指令后的结果 几种常用的寻址方式 寄存器寻址方式 教 学习 环节 学 内 容 地点 视频室 科目 微机控制技术 班级 0922

微机原理电子教案:指令格式及寻址方式(最新整理)

微机原理电子教案:指令格式及寻址方式(最新整理)

指令格式及寻址方式§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 立即寻址(立即数)特点:操作数直接存放在指令中,作为指令的一部分存放在代码段里,这种操作数称为立即寻址。

《单片机原理及应用》课程教案

《单片机原理及应用》课程教案

《单片机原理及应用》课程教案第三次课 2学时主要内容:第二部分单片机的原理与结构(3)2.5 并行I/O端口2.6 时钟电路与时序2.7 复位操作和复位电路重点: P0~P3端口功能及使用中应注意的问题机器周期、时钟周期、指令周期的定义,及时钟周期、频率的计算复位后,特殊功能寄存器的初值难点: P0端口的功能2.5 并行I/O端口4个双向的8位并行I/O端口(Port) ,记作P0~P3 属于特殊功能寄存器,还可位寻址。

2.5.1 P0端口(讲解时强调端口完成的功能)P0口某一位的电路包括:(1) 一个数据输出锁存器,用于数据位的锁存(2) 两个三态的数据输入缓冲器。

(3) 一个多路转接开关MUX,设置多路转接开关的目的:P0口既作通用I/O口,又可作为系统的地址/数据线口。

(4) 数据输出的驱动和控制电路,由两只场效应管(FET)组成,上面的场效应管构成上拉电路。

P0口传送地址或数据时,CPU发出控制信号为高电平,打开上面的与门,使多路转接开关MUX打向上边,使内部地址/数据线与下面的场效应管处于反相接通状态。

这时的输出驱动电路由于上下两个FET处于反相,形成推拉式电路结构,大大提高负载能力。

P0口作通用的I/O口使用。

这时,CPU发来的“控制”信号为低电平,上拉场效应管截止,多路转接开关MUX打向下边,与D锁存器的Q*端接通。

(1)作输出口使用来自CPU的“写入”脉冲加在D锁存器的CP端,内部总线上的数据写入D 锁存器,并向端口引脚P0.x输出。

注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。

(2)作输入口使用应区分“读引脚”和“读端口”(或称“读锁存器”)。

“读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线;“读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。

2.5.2 P1端口字节地址90H,位地址90H~97H。

P1口只作为通用的I/O口使用,在电路结构上与P0口有两点区别:(1)因为P1口只传送数据,不再需要多路转接开关MUX。

第03章 寻址方式及堆栈(教案)

第03章 寻址方式及堆栈(教案)
5堆栈概念、结构元素和操作指令。
教 学 内 容 提 要
时 间
分 配
1.寻址方式
1指令语句举例和寻址方式的概念;
2计算机内核组成与寻址方式的基本分类;
38088/8086的7种寻址方式及两对寻址方式的区别;
4寻址方式和变量常量的关系初步。
2.堆栈
1堆栈的概念;
2堆栈的构成元素;
3堆栈操作指令;
4堆栈和代码的寻址方式。
四川大学教案
【理、工科】
周次
第四周,第一次课
备注
章节
名称
第三章寻址方式及堆栈
提要细则在教学提示卡中。
授课
方式
理论课(√);实践课( );实习( )
教 学
时 数
2







1理解寻址方式的概念;
2理解寻址方式和计算机核心组成的关系;
3准确理解各种寻址方式的确切含义;
4初步理解存储器寻址方式和常量、变量的关系;







1理解和区分立即数寻址与直接寻址、寄存器寻址与寄存器间接寻址的区别;
2理解存储器寻址方式和常量、变量的关系;
3掌握SS、SP的初值及其与堆栈结构元素的关系。讨来自论、练








授课为主、配合上机演示。




实验3_认识寻址方式

实验3_认识寻址方式

实验三 认识寻址方式3.1 实验目的(1)学习和掌握操作数的各种寻址方式(2)学习使用Debug创建和调试程序3.2 预备知识1.操作数和寻址方式操作数是指令或程序的主要处理对象。

在CPU的指令系统中,除了NOP空操作、HLT停机等少数指令外,大量的指令在执行过程中都会涉及到操作数。

所以,在指令中如何表达操作数或操作数所在的位置是正确运用汇编指令的一个重要因素。

寻址方式是指操作数或操作数存放位置的方法。

通俗地说,就是寻找操作数位置的方法。

操作数的各种寻址方式是用汇编语言程序解决问题的基础。

8086系统有7种寻址方式:立即寻址方式、寄存器寻址方式、直接寻址方式、寄存器间接寻址方式、基址变址寻址方式和相对基址变址寻址方式。

在80386CPU之后,增加了比例变址寻址、基址比例变址寻址和相对基址比例变址寻址等3种方式。

除了立即寻址方式和寄存器寻址方式外,其余均为存储器寻址方式。

2. 传送指令MOV传送指令是使用最为频繁的指令,它相当于高级语言中的赋值语句。

指令格式:MOV Reg/Mem,Reg/Mem/ImmReg:寄存器;Mem:存储器;Imm:立即数。

它们可以是8位、16位或32位。

指令的功能是将源操作数SRC(第二操作数)的值传送给目的操作数DST(第一操作数)。

指令执行后,目的操作数被改变,而源操作数的值保持不变。

当存储单元作为操作数时,该操作数的寻址方式可以是任意一种存储单元寻址方式。

3. 加法指令ADD指令格式:ADD Reg/Mem,Reg/Mem/Imm受影响的标志位:AF,CF,OF,PF,SF,ZF。

指令的功能是把源操作数的值加到目的操作数中。

4. 减法指令SUB指令格式:SUB Reg/Mem,Reg/Mem/Imm受影响的标志位:AF,CF,OF,PF,SF,ZF。

指令的功能是把源操作数与目的操作数的值相减并存到目的操作数中。

5.中断INT 20功能:终止当前程序的运行。

入口参数:CS=PSP的段地址出口参数:无3.3 实验内容一、寻址方式通过实验观察和分析在不同的寻址方式下存储单元逻辑地址的表示以及指令的执行结果。

第4章指令系统之寻址方式1

第4章指令系统之寻址方式1

AH
结果
+1
送回
影响
2. 立即数寻址 操作数作为立即数就在指令中给出。 例:MOV AX,1234H 机器码:B8 34 12 (低字节在地址小的单元) 操作:把立即数1234H送寄存器AX中。
MOV AX,1234H
AH AL AX 5162 7384
代码段 (存储器中)
...
B8 操作码(B8)
操作数在某个8位或16位端口中。 注:
• 端口的输入、输出数据只能置于累加器 AL或AX中。
• 端口地址可以置于DX中,但不能置于 其它寄存器中。
(1) 直接端口寻址
a. 端口输入 IN AL,port port=端口地址 (8位,0~255) 例:IN AL,80H 操作:从端口地址为80H的端口输入一字
• 段内偏移量:该单元与段起始地址之间的距 离(字节数) 。又称有效地址EA。
(CS, DS, ES, SS)16 段基地址
待寻址的内存单元 内存单元物理地址
有效地址EA
物理地址 =段基值16+EA
8086规定,在执行某种操作时,采用 的段寄存器有一个预先的约定。故指令中 一般只需给出有关EA的信息,则CPU将能 够根据该次操作自动选用段寄存器,并与 EA一起形成物理地址。

MOV AX,[BX][DI]
或 MOV AX,[BX+DI]
设 DS=2000H DI=1000H BX=8000H , 则 该 指 令 表 示 将 物 理 地 址 =20000H+8000H+1000H=29000H 为 首 地 址 的 一 个 字 的 内 容 送 AX 中 。
•相对基址变址寻址
• 寻址方式:寻找指令地址和操作数地址的方式。 • 寻址过程:形成指令地址和操作数地址的过程。

16位CPU设计寻址方式课程设计

16位CPU设计寻址方式课程设计

16位CPU设计寻址方式课程设计一、课程目标知识目标:1. 学生能够理解16位CPU的基本结构及其工作原理;2. 学生能够掌握寻址方式的基本概念、类型及其在CPU设计中的应用;3. 学生能够解释不同寻址方式的优缺点,并分析其在指令执行过程中的影响。

技能目标:1. 学生能够运用所学知识设计简单的16位CPU寻址方式;2. 学生能够通过编程或模拟软件实现特定寻址方式的指令执行过程;3. 学生能够运用分析、比较等方法,评价不同寻址方式在CPU设计中的效果。

情感态度价值观目标:1. 学生养成探究、质疑的学习习惯,对CPU设计及其寻址方式产生兴趣;2. 学生能够认识到CPU寻址方式在计算机性能提升中的重要性,增强对计算机科学的热爱;3. 学生通过团队合作,培养沟通、协作能力,提高解决问题的自信心。

课程性质分析:本课程为计算机科学与技术专业课程,以实践性、应用性为主,旨在帮助学生掌握CPU设计的基本原理,培养实际操作能力。

学生特点分析:学生已具备一定的计算机硬件基础知识,对CPU原理有一定的了解,但对寻址方式的具体应用尚不熟悉。

教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力;2. 注重启发式教学,引导学生主动探究、思考问题;3. 强化团队合作,培养学生沟通、协作能力。

二、教学内容本课程教学内容主要包括以下三个方面:1. 16位CPU基本结构及其工作原理- 熟悉CPU的内部结构,包括运算器、控制器、寄存器组等;- 了解指令周期、机器周期和时钟周期的关系;- 掌握指令的执行过程,包括取指、译码、执行、写回等阶段。

2. 寻址方式及其在CPU设计中的应用- 学习立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址等常见寻址方式;- 分析各种寻址方式的优缺点,以及在CPU设计中的应用场景;- 了解寻址方式对指令执行速度和存储器访问效率的影响。

3. 16位CPU寻址方式的设计与实现- 学习如何根据需求选择合适的寻址方式;- 掌握使用硬件描述语言(HDL)或模拟软件设计16位CPU寻址方式;- 通过实例分析,了解不同寻址方式在CPU设计中的具体应用。

微机原理 第5章5.1寻址方式

微机原理 第5章5.1寻址方式

一、立即数寻址
【例5.1】 MOV CL, 100 ;将十进制数100(64H)传送到CL中 MOV AX, 1200H ;将12H和00H分别传送到AX的高字节和低字节 MOV AL, ‘A’ ;将字母A的ASCII码41H传送到AL
注意:立即数只能作为源操作数, 注意:立即数只能作为源操作数,不能作为目
2、寄存器间接寻址
EA保存在寄存器中 : (1)当EA保存在BX、SI或DI中时,数据默认 存放在数据段DS中。可使用段超越前缀改变。 EA=BX/SI/DI 物理地址=DS×16+EA 物理地址 × (2) 当EA保存在BP中,数据默认存放在堆 栈段SS中。 EA=BP 物理地址=SS×16+EA 物理地址 ×
4、寄存器相对寻址
EA为寄存器的值与位移量的和 为寄存器的值与位移量的和 段地址对应BX/SI/DI寄存器默认是DS,对应BP 寄存器默认是SS; 可用段超越前缀改变。 EA=BX/BP/SI/DI+ i8/i16 物理地址= 物理地址 DS×16+EA × 物理地址= 使用基址寄存器BP) 物理地址 SS×16+EA (使用基址寄存器 ) ×
【例5.8】
MOV AX, MOV AX, MOV AX, MOV AX, VALUE为变量 MOV AX, [SI+2] ;默认数据段 [DI-2] ;默认数据段 [BP+FFFFH] ;默认堆栈段 [SI+VALUE] ;默认数据段, VALUE[SI] ;默认数据段
说明: 说明:位移量可为正,也可为负。 位移量可以用变量名表示,其值是变量的偏移地 址。位移量可以写在[ ]内,也可以写在[ ]前面。
第第55章章8086808880868088指令系统指令系统5151指令格式与寻址方式指令格式与寻址方式教学重点第5章是本课程的一个关键内容是程序设计的基础?基础是掌握寄存器组?难点是各种寻址方式?重点是掌握8086常用指令的功能及应用什么是指令系统?指令系统就是cpu所能执行的各种不同类型的指令总和也就是这台计算机所能执行的全部操作?每种计算机都有它支持的指令集合?16位80868088指令系统是intel80x86系列微处理器指令系统的基础511指令格式?指令由操作码字段和操作数字段两部分组成?操作码说明计算机要执行哪种操作如传送运算移位跳转等操作它是指令中不可缺少的组成部移位跳转等操作它是指令中不可缺少的组成部分操作码操作数

02-教学课件_寻址方式

02-教学课件_寻址方式
9
1. 直接寻址
指令中直接给出操作数的偏移地址
例:
MOV AX,[1200H]
逻辑段?
偏移地址

数 据
1200H
22H

11H
AH AL
10
直接寻址
直接寻址方式下,操作数默认为在数据段,但允许段 重设,即由指令给出所在逻辑段。
例:
MOV AX,ES:[1200H]
段重设符
11
2. 寄存器间接寻址
寻址方式表示指令运算对象的来源和运算结果的去向 注意点:
立即寻址仅针对源操作数 寄存器寻址表示指令运算的数据在寄存器中(常为通用寄存器) 存储器寻址表示指令运算的对象在内存中
数据在内存中的偏移地址在[ ]中,段地址可以默认或重设
存储器寻址和寄存器寻址均可用于源或目标操作数
深入理解了寻址方式,才能理解指令的执行结果
基址变址寻址方式与相对寻址方式一样,主要用于一 维数组操作。
17
例:
执行下列指令:
MOV SI,1100H MOV BX,SI MOV AX,[SI+BX]
也可表示为 [BX][SI]
偏移地址 AH AL
11 22


2200H
22H
据 段
11H
18
5. 基址、变址、相对寻址
操作数的偏移地址为:
偏移地址


2205H

AL
22H

22
11H
20
寻址方式
指令直接给出的方式 存放于寄存器中的寻址方式 存放于存储器中的寻址方式 隐含给出方式
默认方式
21
隐含寻址
指令中隐含了一个或两个操作数的地址,即操作数在默 认的地址中。

第15讲 寻址方式

第15讲 寻址方式

6
1、立即寻址 指令中直接给出操作数。 例: ADD B,#2 ;#2为立即数 特点:在取指令时,操作码和操作数被同时取 出,提高了指令的执行速度。但是,因为操作 数是指令的一部分,不能被修改,一般用来提 供常数、设置初值等。
7
例:
形式地址 A 就是操作数
立即寻址特征
OP
#
A
立即数 可正可负 补码
相对距离 A
• A 的位数决定操作数的寻址范围 • 程序浮动 • 广泛用于转移指令
29
页面寻址
指令给出位移量,PC的高位部分与位移量拼 接,形成有效地址。
PC可以隐含指定
格式:
操作码
PC
位移量
(PC)H的内容是页号,位移量是页内地址。 用于页式管理存储系统。寻址速度块,适于 组织程序模块,有效利用存储空间
较大的存储空间中寻址。
23
例:
(1) 采用专用寄存器作基址寄存器
EA = ( BR ) + A
BR 为基址寄存器
寻址特征
OP
A
主存
BR
ALU
操作数
• 可扩大寻址范围
• 便于程序搬家
• BR 内容由操作系统或管理程序确定
• 在程序的执行过程中 BR 内容不变,形式地址 A 可变 24
(2) 采用通用寄存器作基址寄存器
效地址。
PC可以隐含指定
格式:
操作码
PC
形式地址
EA=(PC)+ A
▪ 程序计数器的内容就是当前指令的地址。
“相对”寻址,就是相对于当前的指令地址而
言。
▪ 此时形式地址A通常称为偏移量,其值可正
可负,相对于当前指令地址进行浮动。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

§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闪光程序。

相关文档
最新文档