電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>ARM>多寄存器Load/Store內(nèi)存訪問指令

多寄存器Load/Store內(nèi)存訪問指令

2017-10-18 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

  5.4 多寄存器Load/Store內(nèi)存訪問指令
  多寄存器Load/Store內(nèi)存訪問指令也叫批量加載/存儲指令,它可以實現(xiàn)在一組寄存器和一塊連續(xù)的內(nèi)存單元之間傳送數(shù)據(jù)。LDM用于加載多個寄存器,STM用于存儲多個寄存器。多寄存器Load/Store內(nèi)存訪問指令允許一條指令傳送16個寄存器的任何子集或所有寄存器。
  多寄存器Load/Store內(nèi)存訪問指令主要用于現(xiàn)場保護、數(shù)據(jù)復制和參數(shù)傳遞等。
  注意多寄存器Load/Store內(nèi)存訪問指令會增加中斷延時,因為ARM通常不會打斷正在執(zhí)行的指令去響應中斷,而必須等到指令執(zhí)行完。也就是說,如果一個中斷在多寄存器Load/Store內(nèi)存訪問指令執(zhí)行期間產(chǎn)生,那么處理器在多寄存器Load/Store內(nèi)存訪問指令執(zhí)行完后才對中斷響應。
  表5.2總結(jié)了多寄存器Load/Store內(nèi)存訪問指令
  表5.2 多寄存器Load/Store內(nèi)存訪問指令
  指 令作 用操 作
  LDM裝載多個寄存器{Rd}*N←mem32[start address+4*N]
  STM保存多個寄存器{Rd}*N→mem32[start address+4*N]
  5.4.1 多寄存器內(nèi)存字數(shù)據(jù)傳送指令
  1.LDM(1)指令
 ?。?)指令編碼格式
  LDM(1)指令將數(shù)據(jù)從連續(xù)的內(nèi)存單元中讀取到指令中指定的寄存器列表中的各寄存器中。
  當PC包含在LDM指令的寄存器列表中時,指令從內(nèi)存中讀取的字數(shù)據(jù)將被作為目標地址值,指令執(zhí)行后程序?qū)哪繕说刂诽庨_始執(zhí)行,從而實現(xiàn)了指令的跳轉(zhuǎn)。
  指令的編碼格式如圖5.15所示。
  多寄存器Load/Store內(nèi)存訪問指令
  圖5.15 LDM(1)指令編碼格式
 ?。?)指令的語法格式
  LDM{《cond》}《addressing_mode》 《Rn》{!}, 《registers
 ?、?《cond》
  為指令編碼中的條件域。它指示LDM(1)指令在什么條件下執(zhí)行。當《cond》忽略時,指令為無條件執(zhí)行(cond=AL(Alway))。
 ?、?《address_mode》
  指令的尋址方式。確定編碼格式中的P、U和W位。
  ③ 《Rn》
  確定尋址模式所使用的基址寄存器。
  如果r15作為指令的基址寄存器,指令的執(zhí)行結(jié)果不可預知。
 ?、?!
  設置指令編碼格式中的W位。它使指令執(zhí)行后將操作數(shù)的內(nèi)存地址寫入基址寄存器《Rn》中;如果!被忽略,W位為0,指令執(zhí)行完后,不修改基址寄存器的值。
  注意如果基址寄存器包含在指令列表中,當指令執(zhí)行完后,基址寄存器的值是新加載進的特定內(nèi)存地址的值。也就是說,即使指令沒有出現(xiàn)在指令列表中,基址寄存器的值也可能被修改。
 ?、?《registers》
  被加載的寄存器列表。不同的寄存器之間用“,”隔開。完整的寄存器列表包含在“{}”中。編號低的寄存器對應于內(nèi)存中低地址單元,編號高的寄存器對應于內(nèi)存中高地址單元。
  注意無論寄存器在寄存器列表“{}”中如何排列,都將遵循上述規(guī)則。
  寄存器r0~r15分別對應于指令編碼中bit[0]~bit[15]位。如果Ri存在于寄存器列表中,則相應的位等于1,否則為0。
 ?。?)指令操作的偽代碼
  指令操作偽代碼如下面程序段所示。
  If ConditionPass{cond} then
  Address=start_address
  For i=0 to 14
  If register_list[i]==1 then
  Ri=Memory[address,4]
  Address=address+4
  If register_list[15]==1 then
  Value = Memory[address,4]
  If(architecture version 5 or above) then
  Pc= value AND 0xfffffffe
  T bit=value[0]
  Else
  Pc= value AND 0xfffffffc
  Address=address+4
  Assert end_address=address+4
 
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1HFSS電磁仿真設計應用詳解PDF電子教程免費下載
  2. 24.30 MB   |  126次下載  |  1 積分
  3. 2H橋中的電流感測
  4. 545.39KB   |  7次下載  |  免費
  5. 3雷達的基本分類方法
  6. 1.25 MB   |  4次下載  |  4 積分
  7. 4I3C–下一代串行通信接口
  8. 608.47KB   |  3次下載  |  免費
  9. 5電感技術講解
  10. 827.73 KB  |  2次下載  |  免費
  11. 6從 MSP430? MCU 到 MSPM0 MCU 的遷移指南
  12. 1.17MB   |  2次下載  |  免費
  13. 7有源低通濾波器設計應用說明
  14. 1.12MB   |  2次下載  |  免費
  15. 8RA-Eco-RA2E1-48PIN-V1.0開發(fā)板資料
  16. 35.59 MB  |  2次下載  |  免費

本月

  1. 12024年工控與通信行業(yè)上游發(fā)展趨勢和熱點解讀
  2. 2.61 MB   |  763次下載  |  免費
  3. 2HFSS電磁仿真設計應用詳解PDF電子教程免費下載
  4. 24.30 MB   |  126次下載  |  1 積分
  5. 3繼電保護原理
  6. 2.80 MB   |  36次下載  |  免費
  7. 4正激、反激、推挽、全橋、半橋區(qū)別和特點
  8. 0.91 MB   |  32次下載  |  1 積分
  9. 5labview實現(xiàn)DBC在界面加載配置
  10. 0.57 MB   |  21次下載  |  5 積分
  11. 6在設計中使用MOSFET瞬態(tài)熱阻抗曲線
  12. 1.57MB   |  15次下載  |  免費
  13. 7GBT 4706.1-2024家用和類似用途電器的安全第1部分:通用要求
  14. 7.43 MB   |  13次下載  |  免費
  15. 8PADS-3D庫文件
  16. 2.70 MB   |  10次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935113次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191360次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81578次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73804次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分