1. 什么是直接寻址,什么是间接寻址,什么是存储器寻址
一、直接寻址方式
指令所要的操作数存放在内存中,在指令中直接给出该操作数的有效地址,这种寻址方式为直接寻址方式。
在通常情况下,操作数存放在数据段中,所以,其物理地址将由数据段寄存器DS和指令中给出的有效地址直接形成,但如果使用段超越前缀,那么,操作数可存放在其它段。
如
MOV
BX,
[1234H]
二、寄存器间接寻址方式
操作数在存储器中,操作数的有效地址用SI、DI、BX和BP等四个寄存器之一来指定,称这种寻址方式为寄存器间接寻址方式。
在不使用段超越前缀的情况下,有下列规定:
若有效地址用SI、DI和BX等之一来指定,则其缺省的段寄存器为DS;
若有效地址用BP来指定,则其缺省的段寄存器为SS(即:堆栈段)。
如
MOV
BX,[DI]
2. 如何区分寻址方式
寻址方式是指如何对指令中的地址字段进行解释,以获得操作数的方法或获得程序转移地址的方法.常见的寻址方式有立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、相对寻址和变址寻址等.
在立即寻址方式中,操作数包含在指令中;在直接寻址分式中,操作数存放在内存单元中,指令中直接给出操作数所在存储单元的地址;在寄存器寻址方式中,操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名;在间接寻址方式中,指令中给出了操作数地址的地址;在相对寻址方式中,在指令地址码部分给出一个偏移量(可正可负),操作数地址等于本条指令的地址加上该偏移量;在变址寻址方式中,操作数地址等于变址寄存器的内容加偏移量.
3. 1采用直接寻址方式则操作数在()中A主存B寄存器C直接存取存储器D光盘 2名词解释:控制存储器(cpu内的)
采用直接寻址方式操作数在寄存器中。
指令直接包含有操作数的有效地址(偏移地址)。
操作数一般存放在数据段,所以操作数的地址由DS加上指令中直接给出的16位偏移得到。如果采用段超越前缀,则操作数也可包含在数据段外的其他段中。例如:MOV AX,[8054]。
(3)直接寻址存储单元地址在哪里扩展阅读:
控制存储器用来存放实现全部指令系统的所有微程序,它是一种只读型存储器 。一旦微程序固化,机器运行时则只读不写。其工作过程是:每读出一条微指令,则执行这条微指令;接着又读出下一条微指令。又执行这一条微指令.读出一条微指令并执行微指令的时间总和称为一个微指令周期。
通常,在串行方式的微程序控制器中。微指令周期就是只读存储器的工作周期。控制存储器的字长就是微指令字的长度,其存储容量视机器指令系统而定,即取决于微程序的数量。对控制存储器的要求是读出周期要短,因此通常采用双极型半导体只读存储器。控制存储器的容量为微指令数与字长的乘积。
4. 寻址的寻址操作方法
就是指定指令要进行操作的地址。给定指令操作的地址方法,就是寻址方法。完整的一条指令,应该包含指令符+操作数(当然不包括那些单指令,比如NOT等)。其中的操作数是指令要执行的目标,也就是指令要进行操作的地址。
我们知道,在PLC中划有各种用途的存储区,比如物理输入输出区P、映像输入区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来指定确切的大小。当然定时器T、计数器C不存在这种衡量体制,它们仅用位来衡量。由此我们可以得到,要描述一个地址,至少应该包含两个要素:1、存储的区域
2、这个区域中具体的位置比如:AQ2.0
其中的A是指令符,Q2.0是A的操作数,也就是地址。这个地址由两部分组成:Q:指的是映像输出区; 2.0:就是这个映像输出区第二个字节的第0位。由此,我们得出,一个确切的地址组成应该是:〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗。
分类:
直接寻址,简单的说,就是直接给出指令的确切操作数. 直接寻址方式常用于处理内存单元的数据,其操作数是内存变量的值,该寻址方式可在64K字节的段内进行寻址。注意:立即寻址方式和直接寻址方式的书写格式的不同,直接寻址的地址要写在括号“[”,“]”内。在程序中,直接地址通常用内存变量名来表示,如:MOV BX, VARW,其中,VARW是内存字变量。
间接寻址就是间接的给出指令的确切操作数。间接寻址方式计有两大类型:存储器间接寻址和寄存器间接寻址。
存储器间接寻址指针,是作为指定的存储区域的确切数值单元来运用的。也就是说,指针不包含区域标识,它只是指明了一个数值。
存储器间接寻址的地址给定格式是:地址标识符+指针。指针所指示存储单元中所包含的数值,就是地址的确切数值单元。
存储器间接寻址具有两个指针格式:单字和双字。
单字指针是一个16bit的结构,从0-15bit,指示一个从0-65535的数值,这个数值就是被寻址的存储区域的编号。
双字指针是一个32bit的结构,从0-2bit,共三位,按照8进制指示被寻址的位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535的数值,这个数值就是被寻址的字节编号。
指针可以存放在M、DI、DB和L区域中,也就是说,可以用这些区域的内容来做指针。
单字指针和双字指针在使用上有很大区别。单字指针的存储器间接寻址只能用在地址标识符是非位的场合;双字指针由于有位格式存在,所以对地址标识符没有限制。也正是由于双字指针是一个具有位的指针,因此,当对字节、字或者双字存储区地址进行寻址时,必须确保双字指针的内容是8或者8的倍数。
5. 程序存储器中的数据怎么寻址
程序存储器指令地址使用程序计数器PC指针,PC中存放的是下一条将要从程序存储器中取出的指令的地址。程序计数器PC变化的轨迹决定程序的流程,PC最基本的工作方式是自动加1。
在执行条件转移或无条件转移指令时,将转移的目的地址送入程序计数器,程序流向发生变化。在执行调用指令或响应中断时,将子程序的入口地址或者中断矢量地址送人PC,程序流向发生变化。
DPTR是一个16位特殊功能寄存器,主要功能是作为片外数据存储器或I/0寻址用的地址寄存器,这时会产生RD或wR控制信号,用于单片机对外扩的数据存储器或I/0的控制。数据指针DPTR也可以作为访问程序存储器时的基址寄存器,此时是寻址程序存储器中的表格、常数等单元,而不是寻址指令。
6. 什么是直接寻址,什么是间接寻址,什么是存储器寻址,还有什么寻址的都给我介绍一下,并都举个例子吧
直接寻址方式:
指令的地址码部分直接给出的不是操作数,而是操作数的存储器地址,这种方式称为直接寻址方式。根据指令地址码部分给出的直接地址A就可以从存储器中读出所需要的操作数。这种寻址方式简单,直观,也便于硬件实现,但是随着计算机的存储器容量不断扩大,所需要的地址码越来越长,势必造成指令的一部分,不能修改,故只能用来访问固定存储器单元。
如果汇编原程序中跳转指令中使用的是标号,编译后是直接跳转,如果使用了寄存器参量的就是间接跳转的了。
只能说内存寻址的大小与CPU位数有关,但不完全有CPU位数决定,这里有人为的设置,同为64位的CPU,寻址大小、方式也是不一样的,举个例子:
人为限制内存地址用8位2进制数表示,那他的寻址大小是2的8次方,就是256,也就是可以支持256比特大小的内存,以此类推,所以要看你的CPU是怎么定义内存地址的。
如果你为了玩游戏没必要关心这些,只要知道怎么配置快就行了,如果你想学点东西,可以找本书看看,这不是什么复杂的问题,在电子电路中是比较基础的东西,因为不知道寻址方式是无法设计电路和编程的。
你可以去INTEL网站下技术白皮书,里面很详细
参考资料:http://..com/question/2881954.html?si=1
7. 存储器地址线寻址怎么求
计算机有多种寻址方式,如立即数寻址方式,寄存器寻址,存储器寻址方式,与I/0端口有关的寻址方式,又包括直接端口寻址和间接端口寻址。
8. 地址总线如何寻找各个存储单元的
CPU寻址有很多种模式,并不是像问题中所说的是扫描法。寻址方式如下:
1.
立即寻址
2.
直接寻址
3.
寄存器寻址
4.
寄存器间接寻址
5.
寄存器相对寻址方式
6.
基址变址寻址
7.
相对基址变址寻址
这是基本的寻址方式,每个程序都有不同的寻址算法,什么时候使用,什么时候释放,是定义好了的。
如果你要真想弄明白,建议你去看一下《计算机原理》一书。
9. 隐含寻址,立即寻址和直接寻址的区别,直接寻址还好说就是存储器里直接放着操作数的地址,那个隐含寻址和
立即寻址就是在原来存放地址的地方直接存储你要操作的数字的二进制形式,就不需要访存去找数到底是多少了
隐含寻址应该是特定用于有两个操作数的时候,指令的地址码还是存放其中一个操作数的真实地址,这一部分和直接寻址是一样的,但是另外一个操作数会直接存放在某个寄存器中然后直接输入到ALU里
最近也在自学,希望能帮助到你,哪里不对,欢迎指正
10. 什么是存储单元的地址什么是存储单元的内容
地址为一个无符号整数,为了书写方便和编程,在源程序中常用十六进制数或符号来表示一个存储单元的地址。每一个单元的地址称为字节地址,任何相邻两个单元组成一个字地址,按编址原则约定用其中一个较小的地址来表示字地址。一个字由两个字节组成,则低字节对应低地址,高字节对应高地址。
存放在内存单元中的信息称为存储单元内容,按地址的表示类型,存储单元的内容分字节地址内容字地址内容和双字地址内容。
(10)直接寻址存储单元地址在哪里扩展阅读
存储地址用十六进制数表示,而每一个存储器地址中又存放着一组二进制(或十六进制)表示的数,通常称为该地址的内容。存储单元的地址和地址中的内容两者是不一样的。前者是存储单元的编号,表示存储器总的一个位置,而后者表示这个位置里存放的数据。正如一个是房间号码,一个是房间里住的人一样。
如果机器字长等于存储器单元的位数,一个机器字可以包含数个字节,所以一个存储单元也可以包含数个能够单独编址的字节地址。例如一个16位二进制的字存储单元可存放两个字节,可以按字地址寻址,也可以按字节地址寻址。当用字节地址寻址时,16位的存储单元占两个字节地址。