在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

自己歸納整理的ARM THUMB指令機器碼表

聚豐開發 ? 2018-10-26 13:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

注:本文是作者以前發表在其個人博客,現在發布到“聚豐開發”專欄



有個項目需要分析ARM THUMB指令的機器碼,網上沒有搜索到整理好的機器碼表,只好自己把相關指令的機器碼歸納整理出來,這里分享給大家。THUMB指令并不多,只有六十多條,這個數字真的是非常了不起,51都一百三十多條呢。

可能這張表對于大多數朋友都用不到,畢竟要深入到機器碼這一層的機會還是比較少,我想能到這一步的朋友一定對ARM指令有了足夠的理解,所以就不對注釋做另外的說明,相信你一看就懂。




呵呵,如果你用上了這張表,記得在內心感謝我一下,這可是我從《Addison Wesley - ARM Architecture Reference Manual (2nd Edition)》中一條一條摘錄出來的。


v is immed_value
n is Rn
m is Rm
s is Rs
r is register_list
c is condition


按指令字母升序排列

0100 0001 01mm mddd -- ADC Rd,Rm
0001 110v vvnn nddd -- ADD Rd,Rn,#immed_3
0011 0ddd vvvv vvvv -- ADD Rd,#immed_8
0001 100m mmnn nddd -- ADD Rd,Rn,Rm
0100 0100 hhmm mddd -- ADD Rd,Rm h1h2,h1 is msb for Rd,h2 is msb for Rm
1010 0ddd vvvv vvvv -- ADD Rd,PC,#immed_8*4
1010 1ddd vvvv vvvv -- ADD Rd,SP,#immed_8*4
1011 0000 0vvv vvvv -- ADD SP,#immed_7*4
0100 0000 00mm mddd -- AND Rd,Rm
0001 0vvv vvmm mddd -- ASR Rd,Rm,#immed_5
0100 0001 00ss sddd -- ASR Rd,Rs
1101 cccc vvvv vvvv -- Bcc signed_immed_8
1110 0vvv vvvv vvvv -- B signed_immed_11
0100 0011 10mm mddd -- BIC Rd,Rm
1011 1110 vvvv vvvv -- BKPT immed_8
111h hvvv vvvv vvvv -- BL(X) immed_11
0100 0111 1hmm mSBZ -- BLX Rm
0100 0111 0Hmm mSBZ -- BX Rm
0100 0010 11mm mnnn -- CMN Rn,Rm
0010 1nnn vvvv vvvv -- CMP Rn,#immed_8
0100 0010 10mm mnnn -- CMP Rn,Rm
0100 0101 hhmm mnnn -- CMP Rn,Rm
0100 0000 01mm mddd -- EOR Rd,Rm
1100 1nnn rrrr rrrr -- LDMIA Rn!,reg_list
0110 1vvv vvnn nddd -- LDR Rd,[Rn+#immed_5*4]
0101 100m mmnn nddd -- LDR Rd,[Rn,Rm]
0100 1ddd vvvv vvvv -- LDR Rd,[PC+#immed_5*4]
1001 1ddd vvvv vvvv -- LDR Rd,[SP,#immed_8*4]
0111 1vvv vvnn nmmm -- LDRB Rd,[Rn,#immed_5*4]
0101 110m mmnn nddd -- LDRV Rd,[Rn,Rm]
1000 1vvv vvnn nddd -- LDRH Rd,[Rn,#immed_5*2]
0101 101m mmnn nddd -- LDRH Rd,[Rn,Rm]
0101 011m mmnn nddd -- LDRSB Rd,[Rn,Rm]
0101 111m mmnn nddd -- LDRSH Rd,[Rn,Rm]
0000 0vvv vvmm mnnn -- LSL Rd,Rm,#immed_5
0100 0000 10ss sddd -- LSL Rd,Rs
0000 1vvv vvmm mddd -- LSR Rd,Rm,#immed_5
0100 0000 11ss sddd -- LSR Rd,Rs
0010 0ddd vvvv vvvv -- MOV Rd,#immed_8
0001 1100 00nn nddd -- MOV Rd,Rn
0100 0110 hhmm mddd -- MOV Rd,Rm
0100 0011 01mm mddd -- MUL Rd,Rm
0100 0011 11mm mddd -- MVN Rd,Rm
0100 0010 01mm mddd -- NEG Rd,Rm
0100 0011 00mm mddd -- ORR Rd,Rm
1011 110R rrrr rrrr -- POP reg_list
1011 010R rrrr rrrr -- PUSH reg_list
0100 0001 11ss sddd -- ROR Rd,Rs
0100 0001 10mm mddd -- SBC Rd,Rm
1100 0nnn rrrr rrrr -- STMIA Rn!,reg_list
0110 0vvv vvnn nddd -- STR Rd,[Rn,#immed_5*4]
0101 000m mmnn nddd -- STR Rd,[Rn,Rm]
1001 0ddd vvvv vvvv -- STR Rd,[SP,#immed_8*4]
0111 0vvv vvnn nddd -- STRB Rd,[Rn,#immed_5]
0101 010m mmnn nddd -- STRB Rd,[Rn,Rm]
1000 0vvv vvnn nddd -- STRH Rd,[Rn,#immed_5*2]
0101 001m mmnn nddd -- STRH Rd,[Rn,Rm]
0001 111v vvnn nddd -- SUB Rd,Rn,#immed_3
0011 1ddd vvvv vvvv -- SUB Rd,#immed_8
0001 101m mmnn nddd -- SUB Rd,Rn,Rm
1011 0000 1vvv vvvv -- SUB Sp,#immed_7*4
1101 1111 vvvv vvvv -- SWI immed_8
0100 0010 00mm mnnn -- TST Rn,Rm



0000 0vvv vvmm mnnn -- LSL Rd,Rm,#immed_5

0000 1vvv vvmm mddd -- LSR Rd,Rm,#immed_5
0001 0vvv vvmm mddd -- ASR Rd,Rm,#immed_5
0001 100m mmnn nddd -- ADD Rd,Rn,Rm
0001 101m mmnn nddd -- SUB Rd,Rn,Rm
0001 110v vvnn nddd -- ADD Rd,Rn,#immed_3
0001 111v vvnn nddd -- SUB Rd,Rn,#immed_3
0001 1100 00nn nddd -- MOV Rd,Rn
0010 0ddd vvvv vvvv -- MOV Rd,#immed_8
0010 1nnn vvvv vvvv -- CMP Rn,#immed_8
0011 0ddd vvvv vvvv -- ADD Rd,#immed_8
0011 1ddd vvvv vvvv -- SUB Rd,#immed_8
0100 0000 00mm mddd -- AND Rd,Rm
0100 0000 01mm mddd -- EOR Rd,Rm
0100 0000 10ss sddd -- LSL Rd,Rs
0100 0000 11ss sddd -- LSR Rd,Rs
0100 0001 00ss sddd -- ASR Rd,Rs
0100 0001 01mm mddd -- ADC Rd,Rm
0100 0001 10mm mddd -- SBC Rd,Rm
0100 0001 11ss sddd -- ROR Rd,Rs
0100 0010 00mm mnnn -- TST Rn,Rm
0100 0010 01mm mddd -- NEG Rd,Rm
0100 0011 00mm mddd -- ORR Rd,Rm
0100 0010 10mm mnnn -- CMP Rn,Rm
0100 0010 11mm mnnn -- CMN Rn,Rm
0100 0011 01mm mddd -- MUL Rd,Rm
0100 0011 10mm mddd -- BIC Rd,Rm
0100 0011 11mm mddd -- MVN Rd,Rm
0100 0100 hhmm mddd -- ADD Rd,Rm h1h2,h1 is msb for Rd,h2 is msb for Rm
0100 0101 hhmm mnnn -- CMP Rn,Rm
0100 0110 hhmm mddd -- MOV Rd,Rm
0100 0111 0Hmm mSBZ -- BX Rm
0100 0111 1hmm mSBZ -- BLX Rm
0100 1ddd vvvv vvvv -- LDR Rd,[PC+#immed_5*4]
0101 000m mmnn nddd -- STR Rd,[Rn,Rm]
0101 001m mmnn nddd -- STRH Rd,[Rn,Rm]
0101 010m mmnn nddd -- STRB Rd,[Rn,Rm]
0101 011m mmnn nddd -- LDRSB Rd,[Rn,Rm]
0101 100m mmnn nddd -- LDR Rd,[Rn,Rm]
0101 101m mmnn nddd -- LDRH Rd,[Rn,Rm]
0101 110m mmnn nddd -- LDRV Rd,[Rn,Rm]
0101 111m mmnn nddd -- LDRSH Rd,[Rn,Rm]
0110 0vvv vvnn nddd -- STR Rd,[Rn,#immed_5*4]
0110 1vvv vvnn nddd -- LDR Rd,[Rn+#immed_5*4]
0111 1vvv vvnn nmmm -- LDRB Rd,[Rn,#immed_5*4]
0111 0vvv vvnn nddd -- STRB Rd,[Rn,#immed_5]
1000 0vvv vvnn nddd -- STRH Rd,[Rn,#immed_5*2]
1000 1vvv vvnn nddd -- LDRH Rd,[Rn,#immed_5*2]
1001 0ddd vvvv vvvv -- STR Rd,[SP,#immed_8*4]
1001 1ddd vvvv vvvv -- LDR Rd,[SP,#immed_8*4]
1010 0ddd vvvv vvvv -- ADD Rd,PC,#immed_8*4
1010 1ddd vvvv vvvv -- ADD Rd,SP,#immed_8*4
1011 0000 0vvv vvvv -- ADD SP,#immed_7*4
1011 0000 1vvv vvvv -- SUB Sp,#immed_7*4
1011 010R rrrr rrrr -- PUSH reg_list
1011 110R rrrr rrrr -- POP reg_list
1011 1110 vvvv vvvv -- BKPT immed_8
1100 0nnn rrrr rrrr -- STMIA Rn!,reg_list
1100 1nnn rrrr rrrr -- LDMIA Rn!,reg_list
1101 cccc vvvv vvvv -- Bcc signed_immed_8
1101 1111 vvvv vvvv -- SWI immed_8
1110 0vvv vvvv vvvv -- B signed_immed_11
111h hvvv vvvv vvvv -- BL(X) immed_11

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9337

    瀏覽量

    376057
  • 指令集
    +關注

    關注

    0

    文章

    228

    瀏覽量

    23755
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    arm指令速查手冊

    ARM(Advanced RISC Machines)是微處理器行業的一家知名企業,該企業設計了大量高性能、廉價、耗能低的 RISC 處理器、相關技術及軟件。技術具有性能高、成本低和能耗省的特點,適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP 和移動式應用等。
    發表于 06-05 17:13 ?0次下載

    精誠工科智能雙通道氣密性檢測儀,為碼表防水測試帶來革命性變革

    您是否曾幻想過在疾馳的自行車上,精準地記錄下自己的速度、騎行距離和時間?一款功能強大的碼表,無疑是實現這一目標的最佳伴侶。騎行愛好者的必備神器——碼表市面上大多數專為戶外運動設計的碼表
    的頭像 發表于 02-08 10:36 ?352次閱讀
    精誠工科智能雙通道氣密性檢測儀,為<b class='flag-5'>碼表</b>防水測試帶來革命性變革

    ARM嵌入式編程高效技巧

    理解ARM架構 在開始編程之前,深入理解ARM架構的特點和指令集是基礎。ARM處理器支持多種指令集,包括
    的頭像 發表于 12-28 09:17 ?637次閱讀

    一文詳解Arm架構Armv9.6-A中的最新功能

    Arm CPU 是當今人工智能 (AI) 賦能軟件的關鍵,它可解釋、處理和執行指令Arm 指令集架構 (ISA) 作為硬件和軟件的接口,指示處理器做什么和怎么做。
    的頭像 發表于 12-17 10:22 ?3269次閱讀
    一文詳解<b class='flag-5'>Arm</b>架構Armv9.6-A中的最新功能

    Arm成功將Arm KleidiAI軟件庫集成到騰訊自研的Angel 機器學習框架

    Arm 與騰訊攜手合作,成功將 Arm KleidiAI 軟件庫集成到騰訊自研的 Angel 機器學習框架。 ? 借助 KleidiAI 解鎖卓越性能、能效和可移植性,騰訊混元大模型能夠實現更快
    的頭像 發表于 11-24 15:33 ?1228次閱讀

    ARM技術是什么?國內有哪些ARM廠家呢?一起來了解一下!

    進行定制和優化。這使得ARM架構能夠廣泛應用于不同領域,滿足不同場景下的性能、功耗和成本要求。 支持多種指令集 :ARM架構支持Thumb(16位)/
    發表于 11-18 16:35

    示例篇:4G模組AT指令之MQTT應用!

    針對4G模組AT指令的MQTT應用,我收集資料,做出示例,整理成文分享給大家,喜歡的可以收藏。
    的頭像 發表于 11-12 11:56 ?1219次閱讀
    示例篇:4G模組AT<b class='flag-5'>指令</b>之MQTT應用!

    功率計怎么連接碼表

    功率計連接碼表的過程可以根據不同的品牌和型號有所差異,但大致步驟是相似的。以下是一個通用的連接流程,以供參考:
    的頭像 發表于 10-03 16:09 ?2691次閱讀

    RISC-V和arm指令集的對比分析

    核面積更小,相應的功耗更低。RISC-V還允許用戶根據需要擴展指令集,以滿足特定應用的需求。 ARMARM指令集設計更加復雜和靈活,包含了多種
    發表于 09-28 11:05

    CPU時鐘周期、機器周期和指令周期的關系

    CPU時鐘周期、機器周期和指令周期是計算機體系結構中三個緊密相連且至關重要的概念,它們共同構成了CPU執行指令和處理數據的基本時間框架。以下是對這三個周期之間關系的詳細解析。
    的頭像 發表于 09-26 15:38 ?5721次閱讀

    ARM處理器的指令集包括哪些

    ARM處理器的指令集是一個龐大而復雜的系統,它涵蓋了多種類型的指令,用于實現數據處理、程序控制、內存訪問等多種功能。
    的頭像 發表于 09-10 11:15 ?1432次閱讀

    ARM處理器概述和發展歷程

    ARM處理器是一種基于RISC(精簡指令集計算機)架構的高性能微處理器,由英國公司ARM(Advanced RISC Machines)開發和授權。它以其低功耗、低成本和高性能的特點,在移動設備
    的頭像 發表于 09-10 11:07 ?1854次閱讀

    RV64之64位地址指令

    ,復雜尋址模式,不一致的性能計數器,以及只支持 32 位長度的指令。另外 ARM-64 無法切換到 Thumb-2 ISA,因為 Thumb-2 僅適用于 32 位地址。 與 RISC
    發表于 09-04 15:15

    hex文件如何查看原c語言代碼

    是處理器可以直接執行的指令,而 C 語言代碼則是人類可讀的高級編程語言代碼。 然而,如果你想要從 .hex 文件中獲取一些有用的信息或者對程序進行分析,你可以考慮以下幾種方法: 反匯編(Disassembly) : 使用反匯編工具可以將 .hex 文件中的機器碼轉換回匯
    的頭像 發表于 09-02 10:37 ?4717次閱讀

    RISCV的主流指令集有哪些?

    如題,就像X86中指令集有MMX,SSE,SSE2等,就像ARM指令集有ARMThumb等,但是總是感覺RISCV特別亂,可能是廠商比較多
    發表于 08-29 13:49
    主站蜘蛛池模板: 日本国产在线观看 | 日本一区免费在线观看 | 日韩一区二区视频 | 免费视频在线观看1 | 欧美又黄又嫩大片a级 | 97久草| 日韩婷婷| 天天综合网站 | 奇米影视777狠狠狠888不卡 | 美女色黄一男一女 | 在线看欧美成人中文字幕视频 | 亚洲一区二区免费视频 | 欧美高清a| 六月婷婷导航福利在线 | 永久国产| 亚洲男人天堂岛 | 久久天天躁狠狠躁夜夜 | 五月天天色 | 新版天堂资源中文8在线 | 天天拍天天干 | 亚洲欧洲一区二区三区在线 | 天天干夜夜操视频 | 高hnp汁水bl总受软萌受 | 久久黄色视屏 | 婷婷资源综合 | 欧美福利在线播放 | 亚洲国产视频一区 | 国产精品欧美一区二区三区 | 在线观看www日本免费网站 | 亚洲第一视频在线播放 | 美女毛片免费 | 天天激情站 | 天天摸夜夜添夜夜添国产 | 一区二区免费播放 | 99久热| 大香伊人网 | 亚洲爱爱视频 | 国产五月婷婷 | 亚洲一卡2卡4卡5卡6卡在线99 | 伊人精品久久久大香线蕉99 | 性欧美高清精品videos |