当前位置:首页 » 编程软件 » 编程串行寻址

编程串行寻址

发布时间: 2023-04-02 05:04:55

Ⅰ 汇编语言中操作数寻址方式有哪些,各自有什么特点,怎么区分呢

形成操作数的有效地址的方法,称为操作数的寻址方式。

例如,一种单地址指令的结构如下所示,其中用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位偏移量相加,即可形成所需的内存地址。

这种寻址方式的实质还是基址寻址。 点击演示

Ⅱ 使用stm32单片机做毕设 c语言编程 老师问我寻址方式是什么 怎么回答

用C语言编程不关心什么寻址方式,在汇编语言中有体现,寻址方式是指寻找操作数的方法。汇编指令一般格式是
操作码,操作数1 操作数2
一般操作码和操作数1是固定搭配的,寻找第二个操作数的方法就是寻址方式。
例如 ADD A,#12H
操作码和操作数1共同组成一个8位的机器码,而操作数2的来源有很多
上例中操作数2是立即数,这种寻址方式就叫立即寻址,
ADD A,30H
30H 是直接地址,这种寻址方式就是直接寻址
此外还有寄存器寻址,寄存器间接寻址等多种方式。

热点内容
数字支付密码哪里找 发布:2024-05-04 14:26:50 浏览:84
天翼云免费存储 发布:2024-05-04 14:22:55 浏览:780
微信56g缓存怎么解决 发布:2024-05-04 14:09:41 浏览:705
sqlupdatewhereand 发布:2024-05-04 13:55:47 浏览:585
java视频教程推荐 发布:2024-05-04 13:55:08 浏览:85
安卓官服闪耀暖暖怎么换 发布:2024-05-04 13:46:37 浏览:170
我的世界精灵服务器怎么抓宠物 发布:2024-05-04 13:28:54 浏览:959
编译androidwebkit 发布:2024-05-04 13:11:37 浏览:761
安卓微信流量怎么控制 发布:2024-05-04 12:47:19 浏览:799
mysql主从复制数据库 发布:2024-05-04 12:37:55 浏览:512