首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

powerpc特殊寄存器传送指令

powerpc特殊寄存器传送指令

特殊寄存器传送指令
特殊寄存器传送指令如表6所示。

表6 特殊寄存器传送指令

名称

助记符

语法格式

读取机器状态寄存器

mfmsr

rD

写入机器状态寄存器

mtmsr

rS

读取特殊功能寄存器

mfspr

rD, SPR

写入特殊功能寄存器

mtspr

SPR, rS

读取段寄存器

mfsr

rD, SR

写入段寄存器

mtsr

SR, rS

间接读取段寄存器

mfsrin

rD, rB

间接写入段寄存器

mtsrin

rS, rB

读取时基寄存器

mftb

rD, TBR

(1)    读取机器状态寄存器指令mfmsr
   指令的编码格式:

   指令的语法格式:
mfmsr rD
读取MSR的内容放入rD中,这是超级用户层指令,不影响其他寄存器。
(2)写入机器状态寄存器指令mtmsr
指令的编码格式:

指令的语法格式:
mtmsr rS
把rS的内容存入MSR中,这是超级用户指令。
(1)    读取特殊功能寄存器指令mfspr
指令的编码格式:

指令的语法格式:
mfspr rD,SPR
指令操作:
n<—spr[5-9]||spr[0-4]
rD<—spr(n)
特殊功能寄存器(SPR)的编码如表7所示,将SPR的内容存入rD中。

表7 Power PC UISA SPR编码


spr


寄存器名

编码n

spr[5-9]

spr[0-4]


1

00000

00001

XER

8

00000

01000

LR

9

00000

01001

CR

(2)    写入特殊功能寄存器指令mtspr
指令的编码格式:

指令的语法格式:
mtspr spr,rS
把rS的内容存入到指定的特殊功能寄存器中。
(3)    读取段寄存器指令mfsr
指令的编码格式:

    指令的语法格式:
    mfsr rD,SR
指令操作:
rD<—SEGREG(SR)
将段寄存器SR的内容读入rD中,这是一个超级用户层指令。
(1)    写入段寄存器指令mtsr
指令的编码格式:

指令的语法格式:
mtsr SR,rS
将rS中的内容读入SR,这是一个超级用户层指令。
(2)    间接读取段寄存器指令mfsrin
指令的编码格式:

指令的语法格式:
mfsrin rD,rB
指令操作:
rD<—SEGREG(rB[0-3])
由rB寄存器的0~3位选取的段寄存器的内容,复制到rDzhong。这是一个超级用户层指令。
(3)    间接写入段寄存器指令mtsrin
指令的编码格式:

指令的语法格式:
mtsrin rS,rB
指令操作:
SEGREG(rB[0-3])<—(rS)
将rS中的内容复制到由rB的0~3位所指定的寄存器中。这是一个超级用户层指令。
(4)    读取时基寄存器指令mftb
指令的编码格式:

指令的语法格式:
mftb rD,TBR
指令操作:
n<—tbr[5-9]||tbr[0-4]
if n=268 then
rD<—TBL
else if n=269 then
rD<—TBU
该指令的TBR编码如表8所示。

表8 指令mftb的TBR编码


TBR


寄存器名

访问

编码

tbr[5-9]

tbr[0-4]



268

01000

01100

TBL

用户

269

01000

01101

TBR

用户

返回列表