原创 ARM指令集-协处理器指令收藏

ARM 微处理器可支持多达 16 个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略 ARM 处理器和其他协处理器的指令。

ARM 的协处理器指令主要用于 ARM 处理器初始化 ARM 协处理器的数据处理操作,以及在ARM 处理器的寄存器和协处理器的寄存器之间传送数据,和在 ARM 协处理器的寄存器和存储器之间传送数据。 ARM 协处理器指令包括以下 5 条:

— CDP 协处理器数操作指令

— LDC 协处理器数据加载指令

— STC 协处理器数据存储指令

— MCR ARM 处理器寄存器到协处理器寄存器的数据传送指令

— MRC 协处理器寄存器到ARM 处理器寄存器的数据传送指令

1、CDP 指令

CDP 指令的格式为:

CDP{条件} 协处理器编码,协处理器操作码1,目的寄存器,源寄存器1,源寄存器2,协处理

器操作码2。

CDP 指令用于ARM 处理器通知ARM 协处理器执行特定的操作,若协处理器不能成功完成特定的操作,则产生未定义指令异常。其中协处理器操作码1 和协处理器操作码2 为协处理器将要执行的操作,目的寄存器和源寄存器均为协处理器的寄存器,指令不涉及ARM 处理器的寄存器和存储器。

指令示例:

CDP P3 , 2 , C12 , C10 , C3 , 4 ;该指令完成协处理器 P3 的初始化

2、LDC 指令

LDC 指令的格式为:

LDC{条件}{L} 协处理器编码,目的寄存器,[源寄存器]

LDC 指令用于将源寄存器所指向的存储器中的字数据传送到目的寄存器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。其中,{L}选项表示指令为长读取操作,如用于双精度数据的传输。

指令示例:

LDC P3 , C4 , [R0] ;将 ARM 处理器的寄存器 R0 所指向的存储器中的字数据传送到协处理器 P3 的寄存器 C4 中。

3、STC 指令

STC 指令的格式为:

STC{条件}{L} 协处理器编码,源寄存器,[目的寄存器]

STC 指令用于将源寄存器中的字数据传送到目的寄存器所指向的存储器中,若协处理器不能成功完成传送操作,则产生未定义指令异常。其中,{L}选项表示指令为长读取操作,如用于双精度数据的传输。

指令示例:

STC P3 , C4 , [R0] ;将协处理器 P3 的寄存器 C4 中的字数据传送到 ARM 处理器的寄存器R0 所指向的存储器中。

4、MCR 指令

MCR 指令的格式为:

MCR{条件} 协处理器编码,协处理器操作码1,源寄存器,目的寄存器1,目的寄存器2,协处

理器操作码2。

MCR 指令用于将ARM 处理器寄存器中的数据传送到协处理器寄存器中,若协处理器不能成功完成操作,则产生未定义指令异常。其中协处理器操作码1 和协处理器操作码2 为协处理器将要执行的操作,源寄存器为ARM 处理器的寄存器,目的寄存器1 和目的寄存器2 均为协处理器的寄存器。

指令示例:

MCR P3 , 3 , R0 , C4 , C5 , 6 ;该指令将 ARM 处理器寄存器 R0 中的数据传送到协处理器 P3 的寄存器 C4 和 C5 中。

5、MRC 指令

MRC 指令的格式为:

MRC{条件} 协处理器编码,协处理器操作码1,目的寄存器,源寄存器1,源寄存器2,协处理

器操作码2。

MRC 指令用于将协处理器寄存器中的数据传送到ARM 处理器寄存器中,若协处理器不能成功完成操作,则产生未定义指令异常。其中协处理器操作码1 和协处理器操作码2 为协处理器将要执行的操作,目的寄存器为ARM 处理器的寄存器,源寄存器1 和源寄存器2 均为协处理器的寄存器。

指令示例:

MRC P3 , 3 , R0 , C4 , C5 , 6 ;该指令将协处理器 P3 的寄存器中的数据传送到 ARM 处理器寄存器中.

 

发表于 @ 2007年09月02日 20:03:00|评论(loading...)

新一篇: gpio | 旧一篇: ARM 映象

用户操作
[即时聊天] [发私信] [加为好友]
aaaaatiger
订阅我的博客
XML聚合  FeedSky
aaaaatiger的公告
人生最重要的一年 come on && hold on 无聊就去法院旁听吧
文章分类
收藏
    c/c++
    ACM 论坛 (RSS)
    stl(RSS)
    台湾软体(RSS)
    强悍的代码搜索(RSS)
    网络最大流问题(RSS)
    cam/mpeg/demux/dvb-ci
    it 数字电视(RSS)
    MPEG2 详细解释(RSS)
    psi(RSS)
    smartcard(RSS)
    同姓同行业(RSS)
    智能卡在条件接收系统的应用(RSS)
    english
    fun
    在线书库 (RSS)
    上传视频地址 aaaaatiger123456(RSS)
    找音乐 来这里(RSS)
    拒绝浮躁(RSS)
    新歌 点播(RSS)
    西二音乐网--rm2-rm123456(RSS)
    IC
    edacn(RSS)
    linux
    lalala(RSS)
    linux 内核 下载网址(RSS)
    Linux内核技术分析(RSS)
    linux内核编译之旅 (RSS)
    Linux操作系统内核编译详解 (RSS)
    Linux操作系统内核编译详解 (RSS)
    安装Linux的五种方法和心得 (RSS)
    用GDB调试程序(RSS)
    news
    cnn(RSS)
    huanqiu(RSS)
    npr(RSS)
    zaobao(RSS)
    一见如故(RSS)
    华尔街日报(RSS)
    华尔街日报(RSS)
    在线商报(RSS)
    电子 机械
    电子 (RSS)
    中国家电维修联盟(RSS)
    强大的器件搜索网址(RSS)
    电子工程网(RSS)
    嵌入式
    ARM 知识(RSS)
    arm讨论 -aaaaatiger 123456(RSS)
    ecos(RSS)
    ecos相关工具eCos Configuration Tool(RSS)
    eCos论坛(RSS)
    linux 内核 交叉编译工具(RSS)
    一个嵌入式同仁网址(RSS)
    中国电子前沿(RSS)
    单片机网站
    同仁(RSS)
    同仁(RSS)
    完整的 MIPS教程(RSS)
    嵌入式--21IC电子工程师社区aaaaatiger123456(RSS)
    嵌入式同仁网址(RSS)
    嵌入式开发网(RSS)
    嵌入式面试题目(RSS)
    硬件(RSS)
    罗严塔尔(RSS)
    龙芯大讨论(RSS)
    龙芯开发论坛(RSS)
    驱动开发
    pcmcia(RSS)
    windriver使用手册(很好用)(RSS)
    中国数字电视网 aaaaatiger 123456(RSS)
    液晶显示屏 aaaaatiger 123456(RSS)
    液晶显示屏驱动 论坛 aaaaatiger 123456(RSS)
    驱动(RSS)
    驱动开发网aaaaatiger123456(要收钱的注意,不要上--但服务很好)(RSS)
    驱动开发论坛aaaaatiger123456(RSS)
    软件/整体解决方案外包集中营
    中华软件网(RSS)
    搜索 查询 论坛 邮箱
    数字电视中文网 --- 高手如云 (RSS)
    csdn blog 搜索
    csdn 登陆
    fpga(RSS)
    google
    google 代码搜索(RSS)
    google 翻译(RSS)
    IT公司速查手册--推荐(RSS)
    ONline map (RSS)
    pengcheng luntan(RSS)
    公务员(RSS)
    在线词霸(RSS)
    域名搜索(RSS)
    天气预报
    天涯 很无聊 aaaaatiger(RSS)
    天网 搜索(ftp.http)
    广州公交查询网(好用)(RSS)
    源代码(RSS)
    电子书搜索 很不错的 tatu(RSS)
    电话号码查询(RSS)
    百事通(RSS)
    百度
    纽约时报(RSS)
    维基百科 (RSS)
    老外自己的字典(RSS)
    英语资料(很多)(RSS)
    邮箱163
    存档
    Csdn Blog version 3.1a
    Copyright © aaaaatiger