色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM狀態(tài)和編譯器狀態(tài)統(tǒng)一

          ARM狀態(tài)和編譯器狀態(tài)統(tǒng)一

          作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          整個(gè)預(yù)編譯段就是為了說明要ARM的當(dāng)前狀態(tài)和編譯器的狀態(tài)要統(tǒng)一。這是個(gè)標(biāo)準(zhǔn)的例子,實(shí)際大多數(shù)情況不需要。但是上面的config==16只說明你編譯器當(dāng)前在使用的TASM.EXE 但你現(xiàn)在 Thumb-capable ARM processors start in ARM state(注意是MCU的狀態(tài)和編譯器無關(guān))。所以要使兩者一致編譯出來的代碼才能被運(yùn)行,使用CODE32 使編譯器也處于ARMASM.EXE狀態(tài),CODE16/32只會(huì)影響編譯器,只有BX會(huì)改變processors state.只要兩者一致就好

          ;Check if tasm.exe(armasm -16@ADS1.0) is used.
          GBLL THUMBCODE
          [ {CONFIG} = 16
          THUMBCODE SETL {TRUE}
          CODE32
          |
          THUMBCODE SETL {FALSE}
          ]

          本文引用地址:http://cafeforensic.com/article/201611/316920.htm

          MACRO
          MOV_PC_LR
          [ THUMBCODE
          bx lr
          |
          mov pc,lr
          ]
          MEND

          MACRO
          MOVEQ_PC_LR
          [ THUMBCODE
          bxeq lr
          |
          moveq pc,lr
          ]
          MEND



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉