電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>淺談單寄存器數(shù)據(jù)傳送指令

淺談單寄存器數(shù)據(jù)傳送指令

2017-10-19 | rar | 0.5 MB | 次下載 | 1積分

資料介紹

11.5 單寄存器數(shù)據(jù)傳送指令
  Thumb指令集支持寄存器的裝載和存儲(chǔ),即LDR和STR指令。8和類型的Load/Store指令在Thumb指令集中可用。這些指令使用兩種尋址模式:寄存器偏移和立即數(shù)偏移。指令所能存取的數(shù)據(jù)包括字、半字和字節(jié),同時(shí)半字和字節(jié)可以為有符號(hào)數(shù)或無(wú)符號(hào)數(shù)。
  表11.4總結(jié)了Thumb狀態(tài)下可用的數(shù)據(jù)傳送指令。
  表11.4 Thumb狀態(tài)數(shù)據(jù)傳送指令
  助 記 符說(shuō) 明操 作
  LDR傳送32位字到寄存器Rd《- mem32[address]
  STR存儲(chǔ)32位寄存器的值Rd-》 mem32[address]
  LDRB傳送8位字節(jié)到寄存器Rd《- mem8[address]
  STRB保存寄存器中的字節(jié)Rd-》 mem8[address]
  LDRH傳送16位半字到寄存器Rd《- mem16[address]
  STRH保存寄存器中的半字Rd-》 mem16[address]
  LDRSB裝載有符號(hào)字節(jié)到寄存器Rd《- sighExtend(mem8[address])
  STRSB裝載有符號(hào)半字到寄存器Rd《- sighExtend(mem16[address])
  Thumb數(shù)據(jù)傳送指令的基本語(yǔ)法格式分為以下4種。
 ?、?《opcode1》 《Rd》,[《Rn》,#《5_bit_offset》]
  其中,《opcode1》:= LDR|LDRH|LDRB|STR|STRH|STRB
 ?、?《opcode2》 《Rd》,[《Rn》,《Rm》]
  其中,《opcode2》:= LDR|LDRH|LDRB|LSRSH|STR|STRH|STRB
 ?、?LDR 《Rd》,[PC,《8_bit_offset》]
 ?、?《opcode3》 《Rd》,[SP,?!?_bit_offset》]
  其中,《opcode3》:= LDR|STR
  下面詳細(xì)介紹各數(shù)據(jù)傳送指令的語(yǔ)法和使用。
  11.5.1 寄存器裝載指令LDR(1)
 ?。?)編碼格式
  寄存器裝載指令LDR(1)的編碼格式如圖11.42所示。
  
  圖11.42 LDR(1)指令的編碼格式
  這種形式的LDR指令將32位內(nèi)存數(shù)據(jù)裝載到通用寄存器。常用于結(jié)構(gòu)體的數(shù)據(jù)訪問(wèn)。域的基地址放在Rn寄存器中。
  (2)指令的語(yǔ)法格式
  LDR 《Rd》,[《Rn》,#《immed_5》*4]
 ?、?《Rd》
  目的寄存器。用于存放從內(nèi)存中取出的數(shù)據(jù)。
  ② 《Rn》
  基址寄存器,用于存放所取數(shù)據(jù)的基地址。
 ?、?《immed_5》
  5位立即數(shù)。該立即數(shù)的4倍加上基址寄存器的值形成目標(biāo)地址。
  (3)指令操作的偽代碼
  Address = Rn + (immed_5 * 4)
  If address[1:0] = = 0b00
  Data = Memory[address,4]
  Else
  Data = UNPREDICTABLE
  Rd = data
  (4)對(duì)應(yīng)的ARM指令
  LDR 《Rd》,[《Rn》,#《immed_5》*4]
  注意如果指令訪問(wèn)地址非字對(duì)齊,則指令的執(zhí)行結(jié)果不可預(yù)知。
  11.5.2 寄存器裝載指令LDR(2)
 ?。?)編碼格式
  寄存器裝載指令LDR(2)的編碼格式如圖11.43所示。
  淺談單寄存器數(shù)據(jù)傳送指令
  圖11.43 LDR(2)指令的編碼格式
  寄存器裝載指令LDR(2)允許將一個(gè)32位內(nèi)存數(shù)據(jù)裝載到通用寄存器。此種形式的LDR指令常被用于訪問(wèn)數(shù)組中的元素。
 ?。?)指令的語(yǔ)法格式
  LDR 《Rd》,[《Rn》,《Rm》]
 ?、?《Rd》
  目的寄存器。
 ?、?《Rn》
  寄存器存放內(nèi)存訪問(wèn)基地址。
 ?、?《Rm》
  寄存器存放內(nèi)存訪問(wèn)偏移地址。
 ?。?)指令操作的偽代碼
  Address = Rn + Rm
  If address[1:0] = = 0b00
  Data = Memory[address,4]
  Else
  Data = UNPREDICTABLE
  Rd = data
 ?。?)對(duì)應(yīng)的ARM指令
  LDR 《Rd》,[《Rn》,《Rm》]
  11.5.3 寄存器裝載指令LDR(3)
  (1)編碼格式
  寄存器裝載指令LDR(3)的編碼格式如圖11.44所示。
  淺談單寄存器數(shù)據(jù)傳送指令
  圖11.44 LDR(3)指令的編碼格式
  寄存器裝載指令LDR(3)允許將一個(gè)32位內(nèi)存數(shù)據(jù)裝載到通用寄存器。此種形式的LDR指令常被用于訪問(wèn)PC相關(guān)(PC-relative)數(shù)據(jù)。
 ?。?)指令的語(yǔ)法格式
  LDR 《Rd》,[PC,?!秈mmed_8》*4]
  ① 《Rd》
  目的寄存器。
  ② PC
  程序指針寄存器,用于計(jì)算內(nèi)存訪問(wèn)的地址。計(jì)算地址時(shí),PC值的bit[1]被系統(tǒng)默認(rèn)為0進(jìn)行計(jì)算,所以產(chǎn)生的內(nèi)存訪問(wèn)地址必為字對(duì)齊。
 ?、?《immed_8》
  8位立即數(shù)。該立即數(shù)的4倍將和PC值相加,形成內(nèi)存訪問(wèn)地址。
  (3)指令操作的偽代碼
  Address = (PC[31:2] 《《 2) + (immed_8*4)
  Rd = Memory[address,4]
 ?。?)對(duì)應(yīng)的ARM指令
  LDR 《Rd》,[PC,#《immed_8》*4]
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)