今天鞋百科给各位分享如何区分寻址指令的类别的知识,其中也会对单片机的寻址方式到底怎么区分的呢?(什么叫寻址方式?单片机有哪几种寻址方式)进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在我们开始吧!
单片机的寻址方式到底怎么区分的呢?
源操作数和目的操作数,都有寻址方式的问题。
MOV A, #80H
源,是立即数寻址;
目,A是寄存器寻址。
MOV P0, #45H
源,是立即数寻址;
目,是直接寻址。
汇编语言中怎样判断源操作数与目的操作数的寻址方式
(1) 源:立即数寻址
(2) 源:基址变址寻址
(3) 源:基址寻址
(4) 源:寄存器间接寻址
(5) 源:寄存器寻址
计算机中的操作数有三类:立即数(常数)、寄存器操作数、存储器操作数,所以寻址方式就是针对这三类操作数进行的。
立即数和寄存器操作数的寻址比较简单,对应的是立即寻址和寄存器寻址,比较多的是存储器寻址方式,有直接寻址(指令中可以看到内存的地址)、寄存器间接寻址(寄存器的内容作为内存的地址),从寄存器间接寻址进一步发展就有:相对寄存器寻址、基址变址寻址和相对基址变址寻址。
顺序寻址方式:
由于指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令地顺序进行。也就是说,从存储器取出第1条指令,然后执行这条指令;接着从存储器取出第2条指令,再执行第二条指令;接着再取出第3条指令。
这种程序顺序执行的过程,称为指令的顺序寻址方式。为此,必须使用程序计数器(又称指令计数器)PC来计数指令的顺序号,该顺序号就是指令在内存中的地址。
以上内容参考:百度百科-寻址方式
汇编语言中操作数寻址方式有哪些,各自有什么特点,怎么区分呢?
形成操作数的有效地址的方法,称为操作数的寻址方式。
例如,一种单地址指令的结构如下所示,其中用X、I、D各字段组成该指令的操作数地址。 操作码OP
变址X
间址I
形式地址D
指令中操作数字段的地址码是由形式地址和寻址方式特征位等组合形成,因此,一般来说,指令中所给出的地址码,并不是操作数的有效地址。因此,寻址过程就是把操作数的形式地址,变换为操作数的有效地址的过程。
一、隐含寻址
在指令中不明显的给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第
二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。
二、立即寻址
指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间很短,不需要访问内存取数。
例如:单地址的移位指令格式为 OP(移位)
F
D
这里D不是地址,而是一个操作数。F为标志位,当F=1,操作数进行右移;当F=0时,操作数进行左移。
三、直接寻址
直接寻址特点是:在指令格式的地址字段中直接指出操作数在内存的地址D。点击演示
采用直接寻址方式时,指令字中的形式地址D就是操作数的有效地址E,既E=D。因此通常把形式地址。 点击演示
D又称为直接地址。此时,由寻址模式给予指示。 如果用S表示操作数,那么直接寻址的逻辑表达式为
S=(E)=(D)
四、间接寻址
间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址。
如果把直接寻址和间接寻址结合起来,指令有如下形式: 操作码
I
D
寻址特征位I=0,表示直接寻址,这时有效地址E=D;I=1,表示间接寻址,这时有效地址E=(D)。
间接寻址方式是早期计算机中经常采用的方式,但由于两次访存,影响指令执行速度,现在已不大使用。
五、寄存器寻址方式和寄存器间接寻址方式
当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。
寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。
六、相对寻址方式
相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。“相对”寻址,就是相对于当前的指令地址而言。 点击演示
采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。
此时形式地址D通常称为偏移量,其值可正可负,相对于当前指令地址进行浮动。
七、基址寻址方式
基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。点击演示
它的优点是可以扩大寻址能力。同形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。
八、变址寻址方式
变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。 但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。
九、块寻址方式
块寻址方式经常用在输入输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。块寻址方式在内存中还可用于数据块搬家。 块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。
如果数据块是变长的,可用三种方法指出它的长度:
(1)指令中划出字段指出长度;
(2)指令格式中指出数据块的首地址与末地址;
(3)由块结束字符指出数据块长度。 操作码
首地址
标志位
末地址
十、段寻址方式
微型机中采用了段寻址方式,例如它们可以给定一个20位的地址,从而有1M存储空间的直接寻址能力。为此将整个1M空间存储器以64K为单位划分成若干段。在寻址一个内存具体单元时,由一个基地址再加上某些寄存器提供的16位偏移量来形成实际的20位物理地址。这个基地址就是CPU中的段寄存器。在形成20位物理地址时,段寄存器中的16位数会自动左移4位,然后以16位偏移量相加,即可形成所需的内存地址。
这种寻址方式的实质还是基址寻址。 点击演示
简述指令各种寻址方式的联系和区别?
]
只有一个常量,是立即(数)寻址方式;只有一个寄存器名,是寄存器寻址方式;其他则是存储器寻址方式.用中括号括起一个常量是直接寻址方式;用中括号括起一个寄存器名,是寄存器间接寻址方式;用中括号括起一个寄存器名和一个常量是寄存器相对寻址方式;用中括号括起两个寄存器名是基址变址寻址方式;用中括号括起两个寄存器名和一个常量是相对基址变址寻址方式.
单片机 寻址方式
单片机有七种寻址方式分别是:1.寄存器寻址例如: MOV A,R0;2.直接寻址例如: MOV A,4FH;3.寄存器间接寻址 MOV A,@R04.立即数寻址 MOV A,#0FFH5.变址寻址(典型的是查表指令) MOV A,@A+DPTR6.相对寻址 SJMP $7.位寻址 SETB P0.0; MOV 60H,40H;是属于直接寻址;(直接用内存单元的地址来寻找对应的内容) MOV A, #58HMOV RO, #0B0HMOV @RO, AMOV 0B0H, #28H而执行完以上指令后结果是:(0B0H)=P3=28H;因为在8051单片机中P3口是特殊功能寄存器(也占一内存)它的地址刚好是0B0H;程序的最后给0B0H赋了立即数28H;
计算机中常用的寻址方式有哪几种
这是微机原理的知识:
i/o和存储器寻址方式基本相同,比如,直接寻址,寄存器寻址,基址变址寻址
更详细的,参考微机原理与接**术相关书籍。
汇编语言中怎样判断源操作数与目的操作数的寻址方式
(1) 源:立即数寻址
(2) 源:基址变址寻址
(3) 源:基址寻址
(4) 源:寄存器间接寻址
(5) 源:寄存器寻址
计算机中的操作数有三类:立即数(常数)、寄存器操作数、存储器操作数,所以寻址方式就是针对这三类操作数进行的。
立即数和寄存器操作数的寻址比较简单,对应的是立即寻址和寄存器寻址,比较多的是存储器寻址方式,有直接寻址(指令中可以看到内存的地址)、寄存器间接寻址(寄存器的内容作为内存的地址),从寄存器间接寻址进一步发展就有:相对寄存器寻址、基址变址寻址和相对基址变址寻址。
顺序寻址方式:
由于指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令地顺序进行。也就是说,从存储器取出第1条指令,然后执行这条指令;接着从存储器取出第2条指令,再执行第二条指令;接着再取出第3条指令。
这种程序顺序执行的过程,称为指令的顺序寻址方式。为此,必须使用程序计数器(又称指令计数器)PC来计数指令的顺序号,该顺序号就是指令在内存中的地址。
以上内容参考:百度百科-寻址方式
51单片机的地址问题(位地址和字节地址)
1. 8051的内部RAM能作为用户RAM区的只有00~7FH,可以用直接寻址或寄存器间接寻址;80H~FFH是SFR,放了些特殊功能寄存器,只能用直接寻址;
2. 位地址00~7FH和片内RAM字节地址00~7FH只是地址的称呼一样,代表的含义不同,位地址只能用位寻址;
3. 具体的地址是只能通过指令来区分。
其实楼主的理解还是比较清晰的,至少几个重点都搞清楚了。