当前位置:首页 » 服务存储 » 寄存器寻址存储器寻址
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

寄存器寻址存储器寻址

发布时间: 2022-09-26 20:12:25

㈠ 什么是直接寻址,什么是间接寻址,什么是存储器寻址

一、直接寻址方式
指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址,这种寻址方式为直接寻址方式。
在通常情况下,操作数存放在数据段中,所以,其物理地址将由数据段寄存器DS和指令中给出的有效地址直接形成,但如果使用段超越前缀,那么,操作数可存放在其它段。

MOV
BX,
[1234H]
二、寄存器间接寻址方式
操作数在存储器中,操作数的有效地址用SI、DI、BX和BP等四个寄存器之一来指定,称这种寻址方式为寄存器间接寻址方式。
在不使用段超越前缀的情况下,有下列规定:
若有效地址用SI、DI和BX等之一来指定,则其缺省的段寄存器为DS;
若有效地址用BP来指定,则其缺省的段寄存器为SS(即:堆栈段)。

MOV
BX,[DI]

㈡ 80x86中寄存器寻址方式和存储器寻址方式是啥意思

首先内存和寄存器都是可以存放数据的
而寄存器是就那么几个,不可能把所有数据都放在寄存器里
寄存器里面是有值的,如果直接丢给CPU运算,就是寄存器寻址。
如果把寄存器里面的数当作地址编号,跟据编号在内存里找到另一个数,就是存储器寻址。
CS,DS,ES,SS是CPU的寄存器
MOV
AX,DS
都是寄存器寻址方式(它们本身都有值)。
MOV
AX,[2000]
这个指令有两种寻址方式
AX表式寄存器寻址方式,[2000]表示直接寻址方式(存储器寻址方式的一种)
反正只要带上中括号的全是存储器寻址方式,而寄存器寻址就只有一种(例如:AX)

㈢ 程序存储器中的数据怎么寻址

程序存储器指令地址使用程序计数器PC指针,PC中存放的是下一条将要从程序存储器中取出的指令的地址。程序计数器PC变化的轨迹决定程序的流程,PC最基本的工作方式是自动加1。

在执行条件转移或无条件转移指令时,将转移的目的地址送入程序计数器,程序流向发生变化。在执行调用指令或响应中断时,将子程序的入口地址或者中断矢量地址送人PC,程序流向发生变化。

DPTR是一个16位特殊功能寄存器,主要功能是作为片外数据存储器或I/0寻址用的地址寄存器,这时会产生RD或wR控制信号,用于单片机对外扩的数据存储器或I/0的控制。数据指针DPTR也可以作为访问程序存储器时的基址寄存器,此时是寻址程序存储器中的表格、常数等单元,而不是寻址指令。

㈣ mcs-51单片机有哪几种寻址方式

51单片机有7种寻址方式:

1、立即寻址方式

采用立即寻址的指令一般是双字节的。第一个字节是指令的操作码,第二个字节是立即数。因此,操作数就是放在程序存储器中的常数。立即数前面应加前缀“#”号。

2、直接寻址方式

采用直接寻址的指令一般是双字节或三字节指令,第一字节为操作码,第二,三字节为操作数的地址码。单片机中,直接地址只能用来表示片内低128字节单元、专用寄存器和片内RAM的位地址空间。其中专用寄存器和位地址空间只能用直接寻址方式来访问。

3、寄存器寻址方式

寄存器寻址方式用于访问选定的工作寄存器R0~R7、A、B、DPTR和进位CY中的数。其中R0~R7由操作码低三位的8种组合表示,A、B、DPTR、C则隐含在操作码之中。

4、寄存器间接寻址方式

这种寻址方式中,指令指定寄存器中的内容为操作数的地址。寄存器间接寻址是用于访问片内数据存储器或片外数据存储器。当访问片内RAM

或片外的低256字节空间时,可用R0或R1做为间址寄存器;当访问片外整个64KB的地址RAM空间时,用16位寄存器DPTR做间址寄存器。这类指令都为单字节的指令,操作码的最低位表示是采用R0还是R1做间址器。

(4)寄存器寻址存储器寻址扩展阅读:

51单片机功能特性

1,可以仿真63K程序空间,接近64K的16位地址空间;

2,可以仿真64Kxdata空间,全部64K的16位地址空间;

3,可以真实仿真全部32条IO脚;

4,完全兼容keilC51UV2调试环境,可以通过UV2环境进行单步,断点,全速等操作;

5,可以使用C51语言或者ASM汇编语言进行调试;

6,可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出它此的值;

7,可选使用用户晶振,支持0-40MHZ晶振频率;

8,片上带有768字节的xdata,您可以在仿真时选使用他们,进行xdata的仿真;

9,可以仿真双DPTR指针;

10,可以仿真去除ALE信号输出.;

11,自适应300-38400bps的所有波特率通讯。

㈤ 要访问特殊功能寄存器和片外数据存储器,可采用哪些寻址方式

采用直接寻址方式。

位寻址也可,但是这仍然属于直接寻址。

不能用寄存器寻址和寄存器间接寻址。

在指令格式的地址的字段中直接指出操作数在内存的地址。由于操作数的地址直接给出而不需要经过某种变换,所以称这种寻址方式为直接寻址方式。在指令中直接给出参与运算的操作数及运算结果所存放的主存地址,即在指令中直接给出有效地址。

(5)寄存器寻址存储器寻址扩展阅读:

在直接寻址中,指令操作数字段中存放的是操作数的16位偏移地址EA,即操作数的偏移地址EA和操作码一起存放在代码段中,而操作数可以存放在数据段,也可以存放在其它段,操作数的物理地址由其所在段的寄存器内容左移4位与指令中给出的偏移地址EA相加形成。

物理地址PH=(DS)*10H+EA(Disp)EA可以用符号或数值表示。如果用数值表示EA则必须用括号括起来,而且是在方括号前应给出段寄存器名,直接寻址的操作数可以是字或字节。

㈥ 寄存器寻址方式和寄存器直接寻址方式的区别

应该是直接寻址方式和寄存器寻址方式的区别,这两者都是七种寻址方式之一。
寄存器寻址方式:
操作数在CPU内部的寄存器中,指令指定寄存器号。对于16位操作数,寄存器可以是:AX、BX、CX、DX、SI、DI、SP和BP等。对于8位操作数,寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。这种寻址方式由于操作数就在寄存器中,不需要访问存储器来取得操作数。因而可以取得较高的运算数度。
直接寻址方式:
操作数在寄存器中,指令直接包含有操作数的有效地址(偏移地址)。注:操作数一般存放在数据段。所以操作数的地址由DS加上指令中直接给出的16位偏移得到。如果采用段超越前缀,则操作数也可含在数据段外的其他段中。

㈦ 什么是直接寻址,什么是间接寻址,什么是存储器寻址

直接寻址方式:
指令的地址码部分直接给出的不是操作数,而是操作数的存储器地址,这种方式称为直接寻址方式。根据指令地址码部分给出的直接地址A就可以从存储器中读出所需要的操作数。这种寻址方式简单,直观,也便于硬件实现,但是随着计算机的存储器容量不断扩大,所需要的地址码越来越长,势必造成指令的一部分,不能修改,故只能用来访问固定存储器单元。
如果汇编原程序中跳转指令中使用的是标号,编译后是直接跳转,如果使用了寄存器参量的就是间接跳转的了。
只能说内存寻址的大小与CPU位数有关,但不完全有CPU位数决定,这里有人为的设置,同为64位的CPU,寻址大小、方式也是不一样的,举个例子:
人为限制内存地址用8位2进制数表示,那他的寻址大小是2的8次方,就是256,也就是可以支持256比特大小的内存,以此类推,所以要看你的CPU是怎么定义内存地址的。
如果你为了玩游戏没必要关心这些,只要知道怎么配置快就行了,如果你想学点东西,可以找本书看看,这不是什么复杂的问题,在电子电路中是比较基础的东西,因为不知道寻址方式是无法设计电路和编程的。
你可以去INTEL网站下技术白皮书,里面很详细

㈧ 寄存器寻址的含义是什么

操作数在寄存器中,由指令操作码中的rrr三位的值和PSW中RS1及RS0的状态,选中某个工作寄存器区的某个寄存器,然后进行相应的指令操作。
指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。把在指令中指出所使用寄存器(即:寄存器的助忆符)的寻址方式称为寄存器寻址方式。
指令中可以引用的寄存器及其符号名称如下:
、8位寄存器有:AH、AL、BH、BL、CH、CL、DH和DL等;
、16位寄存器有:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器等;
、32位寄存器有:EAX、EBX、ECX、EDX、ESI、EDI、ESP和EBP等。
寄存器寻址方式是一种简单快捷的寻址方式,源和目的操作数都可以是寄存器。
1、源操作数是寄存器寻址方式
如:ADD VARD, EAXADD VARW, AXMOV VARB, BH等。
其中:VARD、VARW和VARB是双字,字和字节类型的内存变量。在第4章将会学到如何定义它们。
2、目的操作数是寄存器寻址方式
如:ADD BH, 78hADD AX, 1234hMOV EBX, 12345678H等。
3、源和目的操作数都是寄存器寻址方式
如:MOV EAX, EBXMOV AX, BXMOV DH, BL等。
由于指令所需的操作数已存储在寄存器中,或操作的结果存入寄存器,这样,在指令执行过程中,会减少读/写存储器单元的次数,所以,使用寄存器寻址方式的指令具有较快的执行速度。通常情况下,我们提倡在编写汇编语言程序时,应尽可能地使用寄存器寻址方式,但也不要把它绝对化。

㈨ 访问程序存储器中的常数数据,可以使用哪些寻址方式

1立即数寻址;2寄存器寻址;3.主存寻址。

直接在指令中给出操作数,不需要存储单元,执行速度快,但是显然数据也不能冗长,通用型性就差,一般用来指定一些要求不高的整形整数。操作数来源于寄存器,结果也写回寄存器。显然这个主要用到寄存器,这也是他的名字的由来。

指令特点

MCS-51的指令系统由111条指令组成。如果按字节数分类,有49条单字节指令,46条双字节指令和16条三字节指令,以单字节指令为主;如果按照指令执行时间分类,有64条单周期指令、45条双周期指令和2条四周期指令,以单周期指令为主。存储效率高、执行速度快,可以进行直接地址到直接地址的数据传送,能把一个并行I/O口中的内容传送到内部RAM单元中而不必经过累加器A或工作寄存器Rn。这样可以大大提高传送速度和缓解累加器A的瓶颈效应。

㈩ 寄存器寻址和寄存器间接寻址的区别

一、主体不同

1、寄存器寻址:是指操作数在寄存器中,由指令操作码中的rrr三位的值和PSW中RS1及RS0的状态,选中某个工作寄存器区的某个寄存器,然后进行相应的指令操作。

2、寄存器间接寻址:将指定的寄存器内容为地址,由该地址所指定的单元内容作为操作数。

二、功能不同

1、寄存器寻址:指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。

2、寄存器间接寻址:寄存器内存放的是操作数的地址,而不是操作数本身,即操作数是通过寄存器间接得到的。


三、特点不同

1、寄存器寻址:在指令执行过程中,会减少读/写存储器单元的次数,所以,使用寄存器寻址方式的指令具有较快的执行速度。

2、寄存器间接寻址:需要以寄存器符号的形式来表示,且在寄存器名称前面加上间接寻址符号“@”。例如指令MOV A,@R0就使用了寄存器间接寻址方式。