您的位置 首页 > 科技

寄存器寻址是指 单指令地址寻址方法?

寄存器寻址是指

寄存器寻址是指 单指令地址寻址方法?

单指令地址寻址方法?

单指令地址寻址方法?

要准确实行指令,就必须要能够得到正确操作数和操作码。操作码字段名在设备里的表示非常简单,仅需对每一种实际操作特定确立的二进制代码就行了。指令的操作数字段名的现象就较为复杂,操作数很有可能就在那指令中,也可能在寄存器或储存器中,这此设备内的信息要准确来操作就要在指令中提到其地址,探寻操作数地址的办法称之为寻址方法。51系列产品指令全面的寻址方法有如下7种。

一、马上寻址

在这样的寻址方式中,指令中跟在操作码后边的一个字节便是具体操作数。在这样的寻址方式中,指令中跟在操作码后边的一个字节便是具体操作数。立即数前边必须要有标记“#”。

例:mov a, #0ffh ffh →(a)将立即数ffh送进累加器a。

这一条指令为双字节指令,操作数ffh以指令方式存放程序存储器内。

二、立即寻址

立即寻址便是在指令其中包含了操作数的地址,该地址立即提出了参与计算或传输的信息所属的字节数模块或位。立即寻址方式中操作数存放空间有三种。

(1)浏览内部结构低128个字符模块(00h~7fh),指令中直接得出地址。

例:mov a, 70h 70h)→(a)把ram 70h模块里面的内容送累加器a。

(2)浏览特殊功能寄存器,可以用立即寻址形式进行浏览。

例:mov ie, #85h 85h→(ie)。ie为特殊功能寄存器,其字节数地址为a8h。

(3) 位地址区域的浏览,指令中以位名字或是位地址的方式得出。

例:mov c, 00h 将00h单元的具体内容→进位位c。

三、寄存器寻址

寄存器寻址是一种以某一个可寻址的寄存器内容为操作数。寄存器寻址指令中,操作数域中给的是操作数所属的寄存器,寄存器内容才算是此条指令的操作数。

四个寄存器组一共有32个通用性寄存器,但指令中常用的是各项工作寄存器组,因而使用寄存器寻址指令前,必须要先将rs0,s1部位位,明确各项工作寄存器组。

例:mov a, ri (ri)→(a)。

四、寄存器间接性寻址

在这样的寻址方式中,操作数所指定寄存器中储存的并不是操作数自身,反而是操作数的地址。寄存器间接性寻址方法把指令中寄存器内容做为地址,再到该地址模块获得操作数。变址寻址寄存器间接性寻址用标记“@”表明。

例:mov a, @rj ((rj))→(a)。

若r0内容为11h,而内部结构ram 11h模块里面的内容是33h,则指令mov a,@r0的功效是把33h这个数送至累加器a。

五、基址寄存器加变址寄存器间接性寻址

基址加变址寄存器间接性寻址以dptr或pc的具体内容为基地址,随后,在这样一个基地址的前提下再加上累加器a中的地址偏移产生真正意义上的操作数地址。这类寻址方法主要用于查询表实际操作。

例: movc a, @a+dptr (dptr)+(a))→(a)。

movc a, @a+pc ((pc)+(a))→(a)。

a中为无符号数,指令作用是a的具体内容和dptr或现阶段pc的具体内容求和获得程序存储器的高效地址,把该储存器模块里面的内容送至a。

六、相对性寻址

相对性寻址是把程序计数器pc中的当前值(该当前值就是指执行完这一条相对性迁移指令后的pc的字节数地址)为依据,再加上指令中给出的偏移所得的结论而产生具体的迁移地址。这类寻址方法主要运用于迁移指令特定转移总体目标地址。

一般将相对性迁移指令操作码所属地址称之为源地址,迁移后地址称之为目地地址,目地地址计算方法如下所示:

目地地址=源地址+相对性迁移指令字节数+相对性偏移值

七、位寻址

位寻址指的是对片内ram的位寻址区和其他可位寻址的特殊功能寄存器开展位操作后的寻址方法。位地址表明一个能作位寻址的模块,它或是在内部ram中或者一个硬件配置的位。

相关文章