《匠人手记》推荐网上购书渠道:
  互动出版网(china-pub)   >>>
  当当网(dangdang)   >>>
  卓越亚马逊网    >>>
  淘宝网(taobao)   >>>
  更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历
载入中...

百宝专栏

载入中...
最新货色

载入中...

粉丝评论

载入中...

载入中...



百宝信息

载入中...

百宝流量

(2006-07-01开始)


匠人手记

ARM寻址方式
程序匠人 发表于 2006-8-13 12:34:00  阅读全文 | 回复(0) | 引用通告 | 编辑

ARM有9种寻址方式,分别为:
1、寄存器寻址
2、立即数寻址
3、寄存器偏移寻址
4、间接寻址

   寄存器间接寻址指令中的地址码给出的是一个通用寄存器编号,所需要

  的操作数保存在存储器指定地址的存储单元中,即寄存器为操作数的地 

 址指针。
   寄存器间接寻址指令取例如下:
   LDR R1,[R2]

5、基址寻址

   基址寻址是将基址寄存器的内容与指令中给出的偏移量相加,形成操作

数的有效地址,基址寻址用于访问基址附近的存储单元,常用于查表,数

组操作,功能部件寄存器访问等
例如:
     LDR  R2,[R3,#0X0F]
     STR  R1,[R0,#-2]

6、多寄存器寻址

   多寄存器寻址就是一次可以传送几个寄存器的值,允许一条指令传送16

  个寄存器的任何子集或所有的寄存器。
   例:
   LDMIA  R1!,{R2-R7,R12} ;将R1单元中的数据读出到R2-R7,R12,

  R1自动加1
   STMIA  R0!,{R3}

7、堆栈寻址

   存储器堆栈可分为两种:
   1、向上生长:向高地址方向生长,称为递增堆栈
   2、向下生长:向低地址方向生长,称为递减堆栈
   堆栈指向最后压入的堆栈的有效数据项,成为满堆栈
   堆栈指向下一个要放入的空位置,称为空堆栈
   1、满递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向内含 

    有效数据项的最高地址。指令如LDMFA、STMFA等
   2、空递增:堆栈通过增大存储器地址向上增长,堆栈指针指向堆栈的 

    第一个空位置。指针如LDMEA、STMEA等
   3、满递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向含有 

    数据项的最低地址,指令如LDMFD,STMFD等
   4、空递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈 

    的下的第一个空位置,指令如LDMED、STMED等
   例:
   STMFD  SP!,{R1-R7,LR};将R1-R7,LR入栈,满递减堆栈
   LDMFD  SP!,{R1-R7,LR};数据出栈,放入R1-R7,LR寄存器。

   第一个字母:F表示:满,E表示:空。
   第二个字母:A表示:增,D表示:减

8、块拷贝寻址

   多寄存器传送指令用于一块数据从存储器的某一位置拷贝到另一位置。
   例:
   STMIA  R0!,{R1-R7}  ;将R1--R7的数据保存在存储器中,存储器指

                          针在保存第一个值后增加,增长方向为向上 

                         增长。
   STMIB  R0!,{R1-R7}  ;将R1--R7的数据保存在存储器中,存储器指

                           针在保存第一个值前增加,增长方向为向上

                           增长。
   STMDA  R0!,{R1-R7}  ;将R1--R7的数据保存在存储器中,存储器指

                           针在保存第一个值后增加,增长方向为向下

                           增长。
   STMDB  R0!,{R1-R7}  ;将R1--R7的数据保存在存储器中,存储器指

                           针在保存第一个值前增加,增长方向为向下

                           增长。

9、相对寻址

   相对寻址是基址寻址的一种变通,由程序计数器PC提供的基准地址,指

  令中的地址码字段为偏移量,两者相加后得到的地址为操作数的有效地 

 址
   例:
   BL   ROUTE1   ;调用到ROUTE1子程序
   BEQ  LOOP     ;条件跳转到LOOP标号处。

看《匠人手记》,与匠人同行!北航出版,正在热卖!

发表评论:
载入中...

芯片专题

器件专题

软件专题

硬件专题

综合专题

项目专题

原创专题

器件检测
LCD LED
按键 触摸键
E2PROM
电池 电机
电阻 电容 电感

指令系统
软件算法
编程规范
滤波算法
串行通讯

PCB设计
I2C PWM
红外遥控
充电技术
中断 ADC 

匠人手记
匠人夜话
网络心路
一周热点串烧
从零开始玩PIC
DIY旋转时钟

广告5号位 [投放]


学习板、开发板、编程器、下载器、仿真器(查看详情……)

广告3号位 [投放]

站内搜索


站外搜索


百度  google
mp3  歌词 
图片  FLASH 
知道  文档
新闻  词典 
地图  mp3 
软件  天网 
雅虎  爱问 
搜狗  讯雷 
网讯  华军 
天空 

21IC器件搜索
百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     

    匠人原创

    推荐阅读

    往日酷贴

     

    友情连接

     [更多酷站连接]

     

     

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [hotpower 的水潭]

    [八楼的呼吸]

    [柔月阁]

    [PIC论坛]

    [SMARTCODE电子书斋]

    [阿摆手记]

    [电子伙伴]

    [xwj的文君阁]

    [所长的BLOG]

    [海边淘沙]

    [单片机开发联盟]

    [数字电视之家]

    [软件开发之窗]

    [unaided的笔记]

    [小飞的笔记]

    [ICC AVR开发网]

    [我爱研发网]

    [infernal的笔记]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [水牛的仓库]

    [逍遥电子]

    [ningpanda的博客]

    [雄鹰的空中加油站]

    [一网见天下]

    [Armoric]

    [股剩是怎样炼成的]

    [嵌入式365]

    [C-Design]

    [AVR猎手的地盘]

    [中国高校自动化网]

    [SunK]